转载

使用Vim

开始Vim

  1. 使用编辑器,最主要的目的就是编辑,即使你不愿意使用Vim这类终端编辑器,也会在某时候不得不靠他勉强编辑一些东西,例如中国人Geek们最起码都干过的改 Linux Source list
  2. 所以无论你是情愿还是不情愿,当你执行这行命令 vim filename 之后,就算是进入了一个有意思,但又不怎么听话的界面,所以书上学来终是浅,实践才是最重要的。
  3. 首先在家目录 cd ~ 下创建或打开 .vimrc 这个文件,直接执行 vim .vimrc 这个命令即可,无论有这个文件还是,没有这个文件都能够正确达到目的。
  4. 进入 .vimrc 文件之后,在其中追加以下内容(追加就是摁键盘上的 i ,光标移动暂时用 方向键 ):

    syntax on
    set number
    set cindent
    set backspace=indent,eol,start
    set tabstop=4
    set shiftwidth=4
    let &termencoding=&encoding
    set fileencodings=utf-8,gbk
    set hls

    有这些功能开启就够了,也不需要有其他的第三方插件,也不需要再多了,就这样足矣。所以请简单使用 Vim

先不要问这些命令的意义所在,轻松一点,书读百遍其意自现,工具也一样,一开始这些规矩根本没必要记住,用久了自然就懂了。

  1. 追加完以后,接下来执行一个连贯的操作:
    1. Shift + ; 也就是冒号 :
    2. 输入 wq
    3. 回车
      • 使用Vim
  2. 成了!接下来就能开心的进入 Vim 状态了。

直接进阶

  1. 对于编辑器这种东西,我们自然是图个方便快速,不然干嘛不用 IDE , (没X-Windows的别打我)
  2. 所以编辑室第一要义:

    1. 记住, i (看好了是,小写的)就是在你光标那里进行插入,别管在光标前插入还是光标后插入,你的方向键还在那里呐!移动啊!( hjkl党 放过我)
    2. Esc 键就是进入 上帝模式 ,也就是99%的 vim 功能所在的模式里,唯一不在其中的就是你刚刚退出的 插入模式
    3. 回顾一下,可以输入内容的模式叫做 插入模式 ,在上帝模式中摁 i 进入,想要返回上帝模式,那就是嗯 Esc ,在你键盘的左上角。
  3. 一般在用编辑器的时候,我们希望的是翻页功能,如果只能一行一行的往下,虽然速度也马马虎虎,但是终究有人不习惯

    1. 很简单
    2. Ctrl + f 向前翻页
    3. Ctrl + b 向后翻页
    4. 有一点歧义,更明白一点的说就是,向前翻页(往文章头部走),向后翻页(往文章尾部走),自己实践一下前面说的这几个操作。

快速回到顶部是什么命令呢? 在上帝模式下连续摁两次 [ 就行了,猜一下回到底部是什么?

  1. 有了插入编辑和翻页,我们已经能满足一般的小需求了,例如看文件内容,稍微修改一点地方。

    1. 但是如果我想快速修改某个地方呢?
    2. 我事先知道那个地方的关键字
    3. 我事先知道在哪一行
    4. 我看到光标附近的某个关键字,想要快速定位到其他地方的这个关键字处
  2. 针对上面的三种情况,一一解答

    1. 我事先知道那个地方的关键字
      • 顾名思义,就是搜索呗:
        1. 上帝模式Shift + ;
        2. 输入 / 斜杠
        3. 再输入你要查找的关键字信息,例如你想要查找 xenial 这个关键字,那最后在下方的命令栏内会看到这些字符 :/xenial
          • 使用Vim
        4. 这时候你摁回车,你会发现,你搜索的关键字都亮起来了,这时候你完成了目标的一大半。
          • 使用Vim
        5. 为什么说一大半,请问你现在要怎么移动到那些高亮起来的地方, 方向键移动 ?太智障了吧。
        6. 一个字母就能实现快速跳转: n ,这里的字母 n ,小写时候向后跳至下一个高亮处,大写的时候就是向前跳,支持循环跳转,也就是说即使你只记得一个方向跳转,最后也能到达你的目的地。
        7. 这一套组合有些长,自己最好实验三次,如果是纯看的客官,你现在就可以保存一下本页面,去干别的了,因为你不自己动手,是绝对记不住的。前面说的知识点,刚好到达人类短时记忆的顶峰。
    2. 我事先知道在哪一行
      • 那很简单啊,就是一个命令而已
      • 在上帝模式下,键盘摁 numbergg
      • 什么意思?就是 number 就是你要去的行数, gg 就是连续摁两下键盘上的小写 g
      • 假设你要快速 跳转到第231行 ,进入上帝模式后,在键盘上摁 231gg ,行了。就是这么简单。
    3. 我看到光标附近的某个关键字,想要快速定位到其他地方的这个关键字处
      • 这个也很简单,也是一个命令而已
      • 在上帝模式下,确保光标移动到那个关键词语上面(上面这个词后面解释),键盘摁 gd 就行了
        • 使用Vim
      • 你发现,你要查的这个关键字都亮了起来,怎么跳转就不用再说一次了吧。
      • 这个功能简直就是神器。想想函数跳转

上面这个词就是,只要是这个单词里面都可以,例如 hello 这个单词,你光标只要停在 ho 之间的任意一个单词都行,闭区间。

  1. 上面说了哪些命令,来回顾一下:
    • 插入 i退出保存 :wq
    • 移动 : 方向键
    • 向前翻页 : Ctrl+f , 向后翻页 : Ctrl+b
    • 搜索 : :/search-key
    • 跳转指定行 : numbergg
    • 快速检索某关键字 : gd
    • 有高亮状态时向后跳转 : n

所以实际上 gg 的作用就是跳转,那有没有想过,不加数字直接使用 gg 是什么效果?猜猜看就能知道一定是跳转的意思。再换大写的 GG 试试啊。很有意思的

额外补充一个,也是用来快速检索某关键字的, # ,用法一样。记不记都无所谓了。

有了这些操作,看一个文件的内容简直就是飞一样,如果你只需要看,少量或者不需要改,那么你根本不用往下看了,这些就足矣。

进阶之后

  1. 回想一下在其他图形编辑器里面,最经常干什么?
  2. 前面我们漏讲了好多最常用的操作, 编辑操作
    • 所谓, 增删改查 ,我们只讲了

增删改

  1. 增加可以分为, 字符插入粘贴

    • 插入就是前方说的 i ,后面会讲一个写程序时候很方便的调试方法,和插入有关。
    • 粘贴就比较有意思,也比较有用了,说到粘贴就不得不说 剪切
    • 剪切有多个方法 dd , 和 cc 都行,当然我说的都是在 上帝模式 下进行的操作。
    • 上面说的就是剪切当前行。
    • 和剪切类似的就是复制了 yy ,代表复制当前行。
    • 那么黏贴是什么,记住这些命令都必须是在上帝模式下使用,黏贴是 p
    • 现在你会了快速 剪切/复制 某一行,并黏贴。
  2. 说完增加,要说说删除了

    • 很简单,在上帝模式下用 x 就行了,有人说直接进编辑模式不就行了
    • 当然可以啊,你愿意的话,怎么方便怎么来, x 的左右就是删除当前光标的字符。一直摁住就是一直删除。
    • 还有一个 误区 ,很多网上的教程说 dd 是删除,实际上并不是,这是剪切的效果,如果你之前有复制的效果,就被他覆盖了。
    • 当然你也可以用 dd 或者 cc 代替删除。
  3. 改,就是替换,这里用一个很经典的例子来说

    1. 如何替换这个文本内的 Tab
    2. 因为有时候有的地方的 Tab 是四个空格,有的不是,我们想统一一下怎么办
    3. :%s/Ctrl+v + Tab/你想替换成什么/g
    4. 解释一下中间那段 Ctrl+v + Tab ,也就是先摁组合键 Ctrl+v ,再摁 Tab 键,你会发现命令栏变成了 ^I ,那就对了。
    5. 最后的完整样子 :/%s/^I/ /g ,代表我想把 Tab 键都替换成四个空格。( 为了显示效果,我替换成四个@ )
      • 使用Vim
      • 使用Vim

高级用法

  1. 搜索某个关键字

    • 假设文件中有一个字符串 hello-arntity-is-so-long-in-word ,我想查询 -arntity-is-so-long , 怎么办?我不想一个字母一个字符输入命令栏啊
    • 这时候就用到了复制功能,和前面的快速复制某行不同,这回是精确复制某些。
    • 在上帝模式下,移动光标到你要选择的词语开头,摁小写的 v ,移动方向键选择一直到末尾,摁 y ,这样就将这些文字复制下来了。
    • 你现在可以用 p 试试是不是复制成功了。
    • 接下来 :/Ctrl+r" 回车即可
    • 解释一下: 进去命令栏,先输入一个斜杠 / ,代表搜索的意思,再摁 Ctrl+r ,后接一个 引号 " ,也就是 Shift + ' 。你会发现命令栏出现了你复制的东西。
  2. 快速注释某些行

    • 需要用到一种叫做 块选择 的东西,不想懂也行,记住操作
    • 首先找到你要注释的那些行,嗯 Ctrl+v 进入某个模式,向下选择你需要的行,这时候选择出来的像是一列小方块,这就是正确的。
      • 使用Vim
    • 选择好一个,摁大写的 I ,在输入你的注释符号,例如 C++ 是两个斜杠 //
    • 输完之后,连摁两下 Esc ,成啦!
      • 使用Vim
    • 想要取消注释怎么办?
    • 自己想想,提示: 块选择之后,用 x
      • 使用Vim
  3. 撤销操作

    1. 就是在上帝模式下摁小写的 u 就行了。
  4. 自动补全

    1. 不必去依赖那些第三方库,是真的安装的很头疼
    2. 自带一个 Ctrl+n 的补全功能,已经能够满足编程的需求了,别太依赖IDE啊。
  5. 剪切从当前光标到该行末尾

    1. 这个也是使用的很频繁的一个操作
    2. 操作很简单,就是大写的 D ,随后使用 p 进行粘贴。

分屏

  1. 实际上不太想记录,因为这个可以由 tmux 来做,但是还是说一下,有的时候挺方便
  2. splitvsplit 是分屏的命令,前者是上下分屏,后者是左右分屏
  3. 使用方法是: split filename
  4. 使用 Ctrl + w 在窗口间进行切换

结束语

  • 熟练了上述操作,基本上能很好的应对各种需求了,基本需求指的是编程写代码,修改配置文件等。

  • 转载请注明出处 http://www.wushxin.top/2016/08/15/使用Vim.html

原文  http://www.wushxin.top/2016/08/15/使用Vim.html
正文到此结束
Loading...