Ctrl + f: 屏幕向'前'移动一页(常用) Ctrl + b: 屏幕向'后'移动一页(常用) Ctrl + d: 屏幕向'前'移动半页 Ctrl + u: 屏幕向'后'移动半页 Ctrl + e: 屏幕向前滚一行 Ctrl + y: 屏幕项后滚一行
Ctrl+G : 显示光标所在位置的行数和列数 0: 光标移动到当前行首(数字零) ^: 移到该行第一个非空白的字符 $: 光标移动到当前行尾(常用) n$: 光标移至第n行尾 (: 到句子的开头 ): 到句子的末尾 {: 到段落的开头 }: 到段落的末尾 G: 光标移至文章的最后一行(常用) nG: 光标移至第n行首 gg: 移动文章的开头 h 或 向左方向键: 光标向左移动一个字符 l 或 向右方向键: 光标向右移动一个字符 k 或 向上方向键: 光标向上移动一个字符 j 或 向下方向键: 光标向下移动一个字符 Ctrl+p: 光标上移一行(同k) Ctrl+n: 光标下移一行(同j) Enter: 光标下移一行 n<Enter>: 光标向下移动n行 space: 光标右移一个字符 n<space>: 光标向右移动n个字符 Backspace: 光标左移一个字符 n<Backspace>: 光标向左移动n个字符 b: 光标左移到上个词的开头 B: 光标左移到上个空格分隔的词开头 w: 光标右移到下个词的开头 W: 光标右移到下个空格分隔的词开头 e: 光标右移到下个词的结尾 E: 光标右移到下个空格分隔的词结尾 H: 光标移至当前屏幕顶行 nH: 光标移动到屏幕的第n行 L: 光标移至当前屏屏幕最后行 内容超过一个屏幕时,光标移至屏幕上的最底行 内容不足一个屏幕时,光标移至文件的最后一行 nL: 光标移动到屏幕的倒数第n行 M: 光标移至当前屏幕中间行 内容超过一个屏幕时,光标移至屏幕的中间行 内容不足一个屏幕时,光标移至文本的中间行 dH: 删除从光标所在行至屏幕首行的全部内容 dM: 删除从光标所在行至屏幕(文件)中间行的全部内容 dL: 删除从光标所在行至屏幕最后一行的全部内容 +: 光标移动到下一行的第一个非空白字符 n+: 光标下移n行 -: 光标移动到上一行的第一个非空白字符 n-: 光标上移n行 z.: 把当前行作为屏幕的中间行 v: 选取文本内容
a: 在当前光标后插入字符 A: 在当前行末后插入字符 i: 在当前光标前插入字符 I: 在当前行首前插入字符(第一个非空白字符前) o: 在当前行后面插入一空行,从光标所在处的下一行行首开始输入字符 O: 在当前行前面插入一空行,从光标所在处的上一行行首开始输入字符 r: 替换当前光标所在字符(替换后即结束) R: 替换当前字符及后面的字符,直至按ESC键结束替换 J: 把光标所在行的下一行追加到本行行尾 :r filename 将filename中的内容添加到当前光标的下一行 :r!command 将指令shell命令command的输出结果添加到当前行 xp: 交换光标位置的字符和它右边的字符 ~: 改变光标所在出字符的大小写
dd: 删除光标所在行 ndd: 删除从光标所在行开始的n行 D: 删除光标所在行光标后面的内容 x: 删除光标所在的字符 X: 删除光标前面的字符 nx: 删除从光标位置开始的n个字符 nX: 删除光标之前的n个字符 dw: 删除光标所在的单词(实际为从光标位置开始到单词结束)(包含空格) de: 删除光标到单词尾所有字符(不包含空格) d0: 删除光标所在行光标之前的所有内容 d^: 删除当前字符到行首的所有字符(同d0) d$: 删除光标所在行光标到行尾的所有内容 d1G: 删除光标所在行到第一行的所有数据 dG: 删除光标所在行到最后一行的所有数据 dfa: 删除从光标到第一个a字符之间的内容(包括a) :nd: 删除第n行 :n1,n2d: 将第n1行到第n2行之间的内容删除 s: 删除光标所处位置的字符,然后在后面追加任意字符 S: 删除当前行,然后在追加任意字符 nS:删除n行,然后在追加任意字符 cw: 删除光标到所在单词尾部的字符 ce: 删除光标到所在单词尾部的字符(和cw一样) c$: 删除光标到当前行行尾的字符 C: 删除光标到当前行行尾的字符(和c$一样) c^: 删除光标之前到行首的字符(不包括光标上的字符) cc: 删除光标所在行(与dd不同的是cc进入insert状态) cb: 删除光标所在单词的光标前的字符
u: 撤销上一个操作(可以执行多次) U: 撤销对当前行的所有操作 .: 重复上一个操作 Ctrl + R : 还原被撤销的操作
/word : 从光标开始向后查找word(若遇到文件尾,则从头再开始) ?word : 从光标开始向前查找word(若遇到文件头,则从尾再开始) n: 在同一方向执行上次定义的查找 N: 在相反方向执行上次定义的查找 /: 向后重复查找上次定义的查找 :set ic : 查找时不区分大小写 :set noic : 查找时区分大小写
:s/word1/word2/c 将word1换成word2,并在替换前让用户进行确认 :s/word1/word2/g 将当前行中所有word1换成word2 :n1,n2s/word1/word2/g 将第n1行到第n2行中所有word1换成word2 :1,$s/word1/word2/g 将第一行到最后一行行中所有word1换成word2 :g/word1/s//word2/g 将文件中所有word1换成word2 :%s/word1/word2/g 将文件中所有word1换成word2 :n1,n2s/^/word1/g 将第n1行到第n2行所有开头加入word1 :%s/ *$// 将所有行结尾的空格删除(超级常用) :%s#/dodo/1#/dodo/2 更换隔离符
:w : 保存当前文件 :q : 直接退出(对文件没有修改的前提) :wq : 保存并退出 :x : 保存并退出 :q! : 不保存直接退出(不想保存文件的修改) :w! : 强制保存该文件(对于只读文件) SHIFT+zz : 保存并退出(其实就是ZZ) :w filename 将修改后的文件保存到filename中(若filename存在则会报错) :n1,n2w filename 将第n1行到第n2行的内容保存filename文件中
:set nu 显示行号 :set nonu 取消显示行号 Ctrl+G : 列出光标所在行的行号
yy: 复制光标所在行(常用) nyy:复制从光标所在行开始向下n行 y1G:复制从光标所在行到第一行的所有行 yG: 复制从光标所在行到最后一行的所有行 yw: 复制单词从光标所在位置开始到单词尾字符 y$: 复制从光标开始到行尾的内容 y^: 复制从光标开始到行首的内容 y0: 复制从光标开始到行首的内容(同y^) p: 粘贴在当前行的下一行(小写) P: 粘贴在当前行的上一行(大写)
:n1,n2 co n3 将n1~n2的内容复制到第n3行。 :n1,n2 co $ 将n1~n2行的内容复制到最后一行。 :n1,n2 mo $ 将n1~n2行的内容移动到最后一行。
cyy: 复制当前行放入buffer c中 cp: 粘贴放在buffer a中的内容
--------------------------------------------------------------------
修改文件格式
:set fileformat=unix
:set ff=unix
将文件修改为unix格式(如win下面的文本文件在linux下会出现^M,从而导致乱码)
:! Command : 执行命令shell指令command !! : 重新执行上次的(:! Command子命令) <<: 把当前行向左移动一个 tab >>: 把当前行向右移动一个 tab n>>: 从当前行开始的n行向右移动一个 tab :n1,n2>: 把第n1行到n2行都向右移动一个 tab :n1,n2>>>: 把第n1行到n2行都向右移动三个 tab
--------------------------------------------------------------------
环境变量设置set tabstop=4 #设置tab跳过的空格数为4(默认为8) set number #设置显示正文行号 set ignorecase #在搜索命令中忽略大小写(缩写:ic) set noignorecase #在搜索命令中区别大小写 set scroll=20 #设定指令模式下使用'Ctrl+d'命令翻滚的行数 set showmode #设定在屏幕右角显示vi编辑器模式(缩写:smd) set ruler #设定在屏幕底部显示光标所在行、列的位置 set terse #设定只显示简短的警告信息 set nomagic #设定在搜索模式中,允许使用前面不带'\'的特殊字符(符号不再有特殊含义) syntax on #设定语法加亮显示 set autoindent #设定每一行都和前一行有相同的缩进量(缩写:ai) set smartindent #设定每一行都和前一行有相同的缩进量,但是遇到'{'和'}'以及'#'则不采用缩进(缩写:si) set cindent #采用标准的C语言的缩进形式(C,C++,Java)(缩写:ci) set shiftwidth=2 #设定缩进空格数为2(缩写:sw) set report #告知用户最后一个命令作用行的行号 set wrapmargin=80 #设置行长度为80(缩写:wm)
原文地址:http://blog.csdn.net/doiido/article/details/44055741