Vim学习第一步是快捷键

有时候自己经常要操作服务器,甚至在Mac上经常使用命令行导致不太愿意在小文件上特意open后使用IDE或者其他编辑器打开,这时候我还是得用vim。配合上Zsh的主题Oh_My_Zsh,操作服务器就简单多了。

这几篇设计到vim的文章,由于Windows命令行不支持vim命令只提供了图形化Gvim,对于跨平台的考虑,为兵部推荐使用Gvim学习。建议使用Windows平台的朋友升级到Windows10 1703版本,使用内置的Ubuntu进行学习。

  • 打开vim后我分不清模式,不知道怎么写代码怎么办?

    1
    2
    3
    4
    5
    6
    7
    vim有三种模式:插入模式,命令模式,转义模式。
    打开某个文件后是命令模式,按下i就是插入模式,也可以按一些其他键。
    从插入模式回到命令模式只要按一下ESC,命令模式是其他两种模式的桥梁。
    转义模式就是使用类似:在屏幕下方书写的模式,文件保存退出和一些编辑器设置都在转义模式下操作。
  • 我使用vim命令打开了一个文件,怎么不保存退出?

    1
    2
    3
    在转义模式下输入:w回车即可保存,:wq回车即可保存并退出。
    如果你打开了没有修改权限的文件,就需要先使用:q!强制不保存退出。
  • 方向键有各种不便捷怎么办?

    1
    vim的方向键是在命令模式下用hjkl逆时针代替左下上右。
  • 我使用vim命令打开了一个文件,怎么不保存退出?

    1
    2
    3
    在转义模式下输入:q回车即可。
    如果你改动了文件,就需要使用:q!强制不保存退出。
  • 怎么在文件中查找某个单词或者字母?

    1
    2
    3
    4
    5
    6
    7
    在命令模式下使用/word回车即可在当前文件当前行之后搜索word单词。
    搜索完毕按n跳转到下一个匹配单词,按N跳转到上一个匹配单词。
    使用?word在当前行之前搜索,个人爱好,我一般不用。
    建议配合搜索关键字hlsearch高亮使用。
  • 如何取消搜索后的高亮显示?

    1
    转义模式输入:noh回车即可。
  • 怎么撤回操作?

    1
    命令模式下按一下u即可。
  • 怎么删除当前行?

    1
    命令模式下按两下d,不限制按下的时间间隔。
  • 怎么跳转到行首和行尾?

    1
    2
    3
    4
    5
    命令模式下按0或者^就可以光标到行首,主意后者是要按Shift的。
    命令模式下按$就可以光标到行首。
    输入2$就可以到下一行行尾,主意输入数字过程屏幕是没有提示的。
  • 怎么跳转到文件头部和尾部?

    1
    2
    3
    按两下g就到第一行行首。
    按一下G就到了文件最后一行,再按一下$就到了最后一行的行尾。
  • 光标怎么移动到某单词的开始和结束?

    1
    2
    3
    4
    5
    命令模式下按一下w光标就到了单词尾巴。
    这里要注意w其实是下一单词首位置,按e才是vim中说的单词尾部。
    按一下b光标就到了当前单词头部。
  • 怎么跳转到指定行?

    1
    2
    3
    转义模式下输入:n回车即可,n为数字行号。
    也可以输入nG直接跳转到第n行行首,如48G。
  • 光标上移下移n行怎么做?

    1
    2
    3
    n+就是下移,n-就是上移,主意要按Shift键。
    例如光标上移10行:10-
  • 怎么重复执行历史的转义命令?

    1
    按下:之后按向上键即可。
  • Mac上怎么在vim文件中输入表情?

    1
    插入模式下输入系统设置好的命令选择即可,默认快捷键为Control+Command+Space
  • 复制,剪切,粘贴怎么做?

    1
    2
    3
    4
    5
    yy是整行复制。
    dd剪切光标所在行。
    粘贴按p回车。
  • 怎么在vim中执行shell命令?

    1
    :!ls就相当于终端执行ls命令,用于写代码时候查看当前目录存在的文件。
  • 单文件中水平和垂直分屏怎么做?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    首先在windows上的很多终端模拟器包括内置bash应该是不支持vim分屏的。
    水平分屏是:sp,垂直分屏是vsp,具体用法靠经验去尝试填坑吧。
    由于显示器横的,我就习惯用垂直分屏,切换使用。
    所在屏切换: 这个应该是Ctrl+w的,但是会和MacOS上的关闭窗口冲突哦。
    退出分屏在当前所在所在屏按:q。
  • 文件之外怎么开始水平和垂直分屏?

    1
    2
    3
    4
    5
    意思是我这个目录下有file1和file2,我怎么用vim分屏同时打开两个甚至多个文件。
    垂直分屏:vim -O file1 file2 ...
    水平分屏:vim -o file1 file2 ...

这里以问答形式回复是希望大家可以同样的提问,完全没有基础可以先看看网上一些vim快捷键作弊表。看完这篇文章你肯定会问一些其他的操作,说实话:其他操作你要么自己写shell命令,要么就进入第二章节的配置,甚至更强大的操作是需要第三节的插件才能搞定的,我也是在一起学习呢。

Vim使用笔记

坚持原创技术分享,您的支持将鼓励我继续创作!
0%