vi

Linux 退出vi 命令简介

荒凉一梦 提交于 2019-12-23 04:40:38
今天使用putty操作 SystemOut.log的时候,忘记怎么退出vi命令了,网上搜到如下介绍,觉得不错,跟大家分享下: ___________________________________________________________________________________________________________   当编辑完文件,准备退出Vi返回到shell时,可以使用以下几种方法之一。   在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出, 返回到shell。   在末行模式下,输入命令   :w   Vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用w命令时,可以再给编辑文件起一个新的文件名。   [例6]   :w newfile   此时Vi将把当前文件的内容保存到指定的newfile中,而原有文件保持不变。若newfile是一个已存在的文件,则Vi在显示窗口的状态行给出提示信息:   File exists (use ! to override)   此时,若用户真的希望用文件的当前内容替换newfile中原有内容,可使用命令   :w! newfile   否则可选择另外的文件名来保存当前文件。   在末行模式下,输入命令   

windows下gVim(Vi/vim)基本使用

假如想象 提交于 2019-12-23 04:38:47
Vim 是一个Linux 平台上功能非常强大的编辑器,他是早年的Vi 编辑器的加强版。这个gVim 是windows 版的,并且有了标准的windows 风格的图形界面,所以叫g(graphical)Vim。我们可以将gvim 理解为vim(vi的加强版)图形化版本,其指令和用法都完全相同,所以可以參考vim的指令。这是一个国际版本,会根据安装的平台自动选择相应语言包, 支持中文及其各种编码,连界面也是中文的,请放心使用。这个极具Unix特色和风格(simple is the best)的编辑器相信会给您带来不同的感受。 【历史回顾】 Vim 是从vi 发展出来的一个多平台文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs 并列成为类Unix 系统用户最喜欢的编辑器。有人曾戏称世界上的程序员只有三种,一种是使用Emacs 的,一种使用vi 的,还有就是使用其他编辑器的。 创建者Bram Moolenaar 在80 年代末购入他的Amiga 计算机时,由于Amiga 尚没有他最常用的编辑器vi,Bram 便从一个开源的vi 复制Stevie 开始,开发了Vim 的1.0 版本。最初的目标只是完全复制vi 的功能,那时的Vim 是Vi IMitation(模拟)的简称。1992年1.22 版本的Vim 被移植到了UNIX 和MS-DOS 上

vi/vim基本使用方法

旧巷老猫 提交于 2019-12-23 04:26:35
转自:http://www.lupaworld.com/?uid-296380-action-viewspace-itemid-118973 vi/vim 基本使用方法 本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!i/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、 windows。 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及 Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。 [简单地,可以使用上下左右方向箭头和delete,backspace键来进行位置移动和删除,不管是命令模式还是插入模式] 1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令行模式command mode)

vi/vim基本操作

戏子无情 提交于 2019-12-23 04:25:56
1. vi/vim有三种执行模式:命令模式、插入模式和编辑模式。 使用vi/vim打开文件时默认进入命令模式,三种模式之间的切换如上图所示。 2. 插入命令:在命令模式下键入插入命令会进入到插入模式下,插入模式下可以输入文本。 i: 在光标前插入, I: 在光标所在行的行首插入 a:在光标后插入, A:在光标所在行行尾插入 o:在光标所在行上插入新行,O:在光标所在行下插入新行 3. 光标移动命令:在命令模式下键入,改变光标位置 h:光标左移, j:光标下移, k:光标上移, l:光标右移动 H:光标定位到屏幕最上面一行, M:光标移动到屏幕中央, L:光标移动到屏幕最下方 0: 光标移动到行首, $光标移动到行尾 4. 定位命令:在命令模式下键入,定位光标位置 gg:回到文件首行, G:回到文件尾行 :n和nG: 光标定位到文件第n行(:20或20G表示光标定位到第20行) :set nu 或:set number显示行号, :set nonu 取消显示行号 5. 删除命令:在命令模式下键入,删除文件中的内容 x : 删除光标所在字符, nx:删除光标后n个字符 dd:删除光标所在行,ndd:删除光标所在行以后的n行 D:删除光标到行尾的内容 dG:删除光标所在行到文件末尾的内容 :n1,n2d:删除行n1到行n2的内容,包括第n1和n2行都被删除 6. 复制剪切粘贴命令 yy

Wrapper for open() and open64() and see that system calls by vi uses open64()

岁酱吖の 提交于 2019-12-23 02:43:19
问题 I have written wrappers for both open() and open64( ). Now I run vi by preloading my wrapper library using LD_PRELOAD environment variable and I see that the open64() wrapper is used instead of the open() . But when I strace vi I see that the system calls made is to open() (of course including the other system calls). What is the issue here? 回答1: The strace utility traces system calls (syscall) and open happens to be both a syscall and a library function. Both the open() and open64() library

vi bindings in ndk-gdb

冷暖自知 提交于 2019-12-23 02:40:15
问题 I know C+M+j enters into vi-mode in gdb. Cygwin-gdb seems to obey my shell settings ( set -o vi ) and automatically is in vi-mode. However, I can't seem to get ndk-gdb to get into vi-mode. Does anyone know how? 来源: https://stackoverflow.com/questions/15770233/vi-bindings-in-ndk-gdb

Linux vi/vim 常用命令

人盡茶涼 提交于 2019-12-23 01:01:21
Linux vi/vim 常用命令大全 (一)vi/vim是什么? Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便。vi就是一种功能强大的文本编辑器,而vim则是高级版的vi,不但可以用不同颜色显示文字内容,还能进行诸如shell脚本、C语言程序编辑等功能,可以作为程序编辑器。 (二)为什么要学习vi/vim? 首先所有的Linux发行版系统上都会默认内置vi编辑器,而不一定带有其他文本编辑器,非常通用;其次,很多软件的编辑接口都会默认调用vi;第三,vi具有程序编辑的能力;最后,vi程序简单,编辑速度相当快速。 (三)vi的三种模式及各个模式之间的转换关系 (四)一般模式常用操作 【h(或向左方向键)】 光标左移一个字符 【j(或向下方向键)】 光标下移一个字符 【k(或向上方向键)】 光标上移一个字符 【l(或向右方向键)】 光标右移一个字符 【[Ctrl] + f】 屏幕向下移动一页(相当于Page Down键) 【[Ctrl] + b】 屏幕向上移动一页(相当于Page Up键) 【[0]或[Home]】 光标移动到当前行的最前面 【[$]或[End]】 光标移动到当前行的末尾 【G】 光标移动到文件的最后一行(第一个字符处) 【nG】 n为数字

Working in vi editor on ec2 server

泪湿孤枕 提交于 2019-12-22 17:54:26
问题 Can you please help me using vi editor for programming How to close the window, saving the content of opened page. // I use Esc wq: but it keep open the window Deleting selected content going to direct line // Esq /. any other way Opening new file in same window without closing older one 回答1: How to close the window, saving the content of opened page. // I use Esc wq: but it keep open the window ESC + :wq Deleting selected content how do you select content in VI ? to delete a line, press dd .

force vim to overwrite external changes

放肆的年华 提交于 2019-12-22 09:30:08
问题 I use Vim 7.4 (Mac OS) to edit and run Lua scripts. I've mapped a key in my .vimrc to save the current buffer and run an external script. The key map in .vimrc: map V :w!<CR> :!python "$HOME/tools/client/concli.py" --lua %<CR> It works fine but every once in a while the files are 'touched' by Xcode (touch shell command). Then when I hit the mapped key vim warns me that the file has been changed externally and I have to confirm to write to it. This is quite annoying since the files are often

How to repeatedly add text on both sides of a word in vim?

折月煮酒 提交于 2019-12-22 07:47:45
问题 I have a bunch of local variable references in a Python script that I want to pull from a dictionary instead. So, I need to essentially change foo , bar , and others into env['foo'] , env['bar'] and so on. Do I need to write a regular expression and match each variable name to transform, or is there a more direct approach that I could just repeat with the . command? 回答1: You can use a macro: type these commands in one go (with spacing just to insert comments) " first move to start of the