Gvim这个编辑器强大,快捷,而且很小,够自由。但是,windows用习惯了的,用起Gvim来,难免刚刚开始不适应。相信用一段时间你就会喜欢上它了。

方法/步骤

  1. 1

    光标的移动:

    这里说的光标移动是指在正常模式下光标的移动。

    最简单是方向键,它即使在插入模式下仍可使用,但不是最方便。

    h 在当前行向左移动一个字符,或者Backspace。

    j 移动到下一行,或者Enter。

    k 移动到上一行,或者- 号。

    l 在当前行向右移动一个字符,或者空格键Space。

    Ctrl +f 向前滚动一页,或者PageDown。

    Ctrl +b 向后滚动一页,或者PageUp。

    0(零) 移至行首(包含空白字符,如缩进的空格),或是Home 键。

    $ 移至行尾, 或End 键。

    ^ 移到行首第一个非空白字符。

    G 移动到文档末尾,或者

    gg 移动到文档开头。

    w 移动到下一word的开头。

    b 移动到上一word的开头。

    e 移动到本word或者下个word的末尾。

    ge 移动到上个word的末尾。

    大写的W B E 和w b e 效果一样但会忽略像. - 等特殊字符。

    中文因为是连在一起的,所以如果没有空格或者数字、英文标点的话,将视为一个word。

    ( 光标移至句首,句子是以. ? ! 标点来判断的。

    ) 光标移至句尾

    { 光标移至段落的开头,段落是以空白行来判断的。

    } 光标移至段落的结尾

    H 将光标移至屏幕顶第一个非空白字符。

    M 光标移至屏幕中间第一个非空白字符。

    L 光标移至屏幕底第一个非空白字符。这和PageDown,PageUp 不一样,内文内容并未动,只是光标在动而已。

    :n 将光标定位到第n行。

    n| 将光标移动到本行第n个字符。

  2. 2

    模式编辑:

    vim常用的模式有:

    命令模式(command-mode),插入模式(insert-mode),可视模式(visual-mode),正常模式(normal-mode)。

    模式的转换:

    ①其它模式==>命令模式

    按Esc键

    ②正常模式==>插入模式

    按i 在光标前插入

    按I 在行首插入

    按a 在光标后插入

    按s 删除光标所在的字符再插入

    按A 在行末插入

    按o 在当前行之下新建行

    按O 在当前行之上新建行

    按S 删除光标所在行再插入

    ③正常模式==>命令模式

    按: (shift 加分号)

    ④正常模式==>可视模式

    按v 可视模式

    按V 可视块模式

  3. 3

    打开和退出:

    :e test.txt 打开test.txt文件进行编辑,文件不存在则创建。

    :w 保存文档,但不退出vim编辑器。[3] 

    :q 不保存文档,退出vim编辑器。

    :wq 保存文档然后退出vim编辑器。按ZZ(注意Z是大写的,并且不是在命令模式)或者:x效果是一样的。

    :q! 放弃所有修改强制退出,按:q不能退出时就试试这个吧。

  4. 4

    文件操作:Exp 浏览文件夹:Sex 分割窗口浏览文件夹:args 查看当前打开的所有文件:ls 显示缓冲区:cd 显示当前文件夹

    大小写转换guu 将当前行全部小写gUU 将当前行全部大写Vu 将选中的行(单行或多行)全部小写VU 将选中的行(当行或多行)全部大写g~~ 将当前行小写的转换成大写, 大写的转换成小写

    insert模式ctrl+n(p)  自动补全ctrl+w 回删一个wordctrl+u 删除到行首(包括行首空白)ctrl+t 向右缩进ctrl+d 向左缩进ctrl+h 对应Backspace键ctrl+j 对应回车键ctrl+m 貌似也是回车键

    使用 Ctrl-O 就可以临时切换到 normal mode, 执行一个命令后自动返回 insert mode。

    "{a-z} yy 将复制的行存储在[a-z]指定的存储器中

    nG 移动到第n行// 重复上一次/<regexp>搜索

  5. 5

    编辑(缩进,全文缩进)x  删除当前光标文字

    J  将下一行接到当前行末尾

    rx 将当前光标字符替换为x 

    .  重复前一个编辑操作命令, dd...会删除4行文字,

    J....可以连接4行文字

    d  可以用来结合任何移动命令

    dw 删除当前光标到下一个单词开始处的内容

    d% 删除范围首尾字符之间的内容

    d) 删除到下一个句子结束的位置

    d} 删除当前段落的剩余内容

    du 取消删除准备

    I  在当前行开始插入

    A  在当前行末尾开始插入

    o  在当前行下新建一空行以供插入

    O  会在当前上方新建一空行

    cc 用空白行代替当前行内容

    c$ 删除当前位置到当前行结束内容

    c0 删除当前位置到当前行开始内容

    == 对当前行自动缩进

    gg=G 对全文进行自动缩进

    <<(>>)

    对整行进行缩进

  6. 6

    视图模式ctrl+q 块选择

    替换:s/regexp/replacement/g 替换当前行:%s/regrep/replacement/g   全文替换, 如果一行有多个匹配只替换第一个:%s/regexp/replacement/gc  全文替换,

    并在每次替换之前进行提示:%s/str/\r/g 替换并换行

    养成每次编辑之后随时按esc退出插入模式进入命令模式的习惯

    能熟练使用各种组合命令是vi高手的一个标志

  7. 7

    常用插件calendar:\cal 左边垂直位置打开日历\caL 下面水平位置打开日历:Calendar year month 根据制定的日期打开日历t  回到今天q  退出日历

    MRU 最近打开的文件:MRU 显示最近打开的文件列表

    NERDTree 在左边显示文件目录:NERDTree  打开NERDTree插件o  展开折叠选中文件夹t  在tab页打开选中文件T  在后台标签页打开!  执行此文件p  到上层目录P  到根目录K  到第一个节点J  到最后一个节点u  回到上层目录m  显示文件系统菜单?  帮助q  退出

  8. 8

    如何找到上次编辑的文件? Ctrl+O (按两次)

  9. 9

    如何选择、复制或者查找光标所在的单词? 在VIM中用iw或者aw表示一个单词,两者稍有区别。

    选择光标所在的单词:viw (v进入visual模式,然后iw)

    复制光标所在的单词:yiw

  10. 10

    如何去掉或者插入^M这样的字符? 在VIM的插入模式或者命令行中用输入^M这样的特殊字符,例如输入:%s///g实际显示是:%s/^M//g就可以去掉文件中所有的^M。同理,要在文件中输入^M只要按即可。这个问题往往发生在WINDOWS/DOS系统和UNIX系统之间交换文件时,因为这两类系统 对于文本的“换行”概念解释不同。所以,还有一个解决方法就是对这类文本进行 转换。vim内部就可以做这件事情。首先打开文本,然后set fileformat=unix再从新保存该文件复盖原文件就可以去除:^M了

    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。