vim学习笔记——vimtutor

vim是一个非常强大的编辑器,有非常多的命令可以运行。vimtutor是用来简单介绍一些足够你把vim当做一款全能编辑器来使用的教程。
完成vimtutor大概需要话费你25-30分钟,这取决于你对于命令的联系次数。

本文将vimtutor中每一个lesson的总结记录下来。

第一课总结

  1. 光标移动
    (left)/h: 向左移动光标
    (down)/j: 向下移动光标
    (up)/k: 向上移动光标
    (right)/l: 向右移动光标
    注:h、j、k、l命令移动光标仅在常规模式(Normal mode)下有效。

  2. 启动vim
    在终端运行:

vim filenamrepeat a motion prepend it with a number.e <ENTER>

若文件存在,直接通过vim打开。若文件不存在,则直接创建“filename”文件并通过vim打开。
注:vim打开文件默认进入常规模式(Normal mode),在常规模式下按<ESC>将会进入命令模式(Command mode)。

  1. 退出vim
    按<ESC>之后, 输入:q! <ENTER> 。 退出并撤销所有改动。
    按<ESC>之后, 输入:wq <ENTER>。 退出并保存所有改动。
    注:按<ESC>进入命令模式(Command mode),该模式中执行命令需要以" : "作为开始。

  2. 删除字符
    按 x 删除光标所在位置的字符。

  3. 插入和附加
    按 i 在光标前面插入内容。
    按 A 在行尾添加内容。
    注:上述两个命令都将进入插入模式(Insert mode)。

第二课总结

注:本节课所有命令均始于光标位置,且均为常规模式下操作(Normal mode)。

  1. dw: 删除一个单词,光标移动到下一个词的首字母位置。

  2. d$: 删除至行尾。

  3. dd: 删除光标所在整行。

  4. 2w: 按照输入数字重复操作。
    例如:d2w相当于执行两次dw命令。

  5. 更改命令(change command)的格式为:

命令符(d)+数字+动作(w)

  1. 0(数字零): 移至行首。

  2. u: 撤销前一个操作。
    U: 撤销当前repeat a motion prepend it with a number.行的所有操作。
    CTRL-R: 撤销前一个撤销,即重做。

第三课总结

  1. p: 将上一次删除的内容复制到光标之后。
    注:若上次删除的是一整行,该命令将删除行复制到当前行之下。

  2. rx: 用'x'替换光标所在位置的字符。
    注:'x'可以为任意字符。

  3. c: 更改命令,允许你从光标位置更改到其后动作(motion)所至位置。
    注:执行c命令之后,将进入插入模式(Insert mode)。

  4. 接3, c与d的命令格式相同:

c [number] motion
例如:
ce(end of word)删除至单词末尾,光标停留在下一个单词首字母前。
c2w(word)删除两个单词。
c$(end of line)删除至行尾。
与d命令不同之处在于,c命令会进入插入模式。

第四课总结

  1. CTRL-G: 显示光标当前所在位置以及文件状态。
    1). G: 移动至文件末尾。
    2). [number] G: 移动至该数字行。
    3). gg: 移动第一行, 即文件顶部。

  2. /phrase: 向下查找"phrase"。
    ?phrase: 向上查找"phrase"。
    执行一词/phrase或?phrase命令后, n命令将沿相同方向查找,N命令将沿相反放下查找。

  3. %: 当光标位于括号'('、')',中括号'['、']',花括号'{'、'}'时,该命令自动查找与之对应的括号。

  4. :s/old/new: 把光标之后第一个"old"替换成"new"。
    :s/old/new/g: 把当前行的所有"old"替换成"new"。
    :#.#s/old/new/g: #,#设定需要替换的行的范围。
    :%s/old/new/g: 把文件中所有的"old"替换成"new"。
    :%s/old/new/gc: 动作同上,但每次替换前会请求确认
    注:c动作可以跟在其他动作后面,以便替换之前请求确认。

第五课总结

  1. :!command: 执行外部命令。
    linux的一些例子:
    1). :!ls: 显示当前文件夹的全部文件及文件夹。
    2). :!rm FILENAME: 删除FILENAME文件。
    注:windows中也有对应的命令,执行方法相同。

  2. :w FILENAME: 将当前vim打开的文件以FILENAME的文件名保存到硬盘。

  3. v motion :w FILENAME: 保存视图模式选中的内容保存为FILENAME文件。

  4. :r FILENAME: 从硬盘中提取FILENAME文件并将其复制到光标之下行。

  5. :r !ls: 将ls命令结果复制到光标之下行。

第六课总结

  1. o(小写字母): 在光标所在行之下创建新的一行。
    O(大写字母): 在光标所在行 之上创建新的一行。
    注:以上两个命令执行完毕后,都会进入插入模式(Insert mode)。

  2. a: 在光标之后插入文本。
    A: 在当前行尾插入文本。

  3. 移动至光标所在单词的最后一个字母。

  4. y: 复制文本。
    p: 粘提文本。
    注:CTRL-V进入视图模式(Visual mode),移动光标将从光标起始位置选中文本。之后可以进行以上两个命令的操作。

  5. R: 进入替换模式(Replace mode),直至按<ESC>终止。

  6. :set xxx: 设置可选项"xxx"。
    例如:
    'ic' == 'ignorecase': 查找时,忽视字符的大小写。
    'is' == 'incsearch': 查找单词时,选中匹配单词。不打开该模式时,查找必须等待<ENTER>才能锁定到匹配结果。

  7. :set noxxx: 关闭6节中的相关设置。

第七课总结

  1. :help或者<F1>或者<HELP>: 在新窗口打开帮助文档。
    注:<F1>可能在系统中存在冲突,deepin os在终端中按下弹出的是终端的帮助文件。<HELP>多数键盘并没有这个按键。

  2. :help cmd: 查找cmd命令的帮助文档。

  3. CTRL-W CTRL-W(两次): vim从一个窗口切换到另一个窗口。

  4. :q: 关闭帮助文档,该操作与之前关闭文档的操作相同。

  5. vimrc文件是vim的配置文件,对vim进行个性化设置在本文件中进行。

  6. : commad, 按CTRL-D查看全部可补全命令。按<TAB>可切换补全命令。

以上为最基本的vim相关命令,进一步学习前可以对vimtutor多练习练习,并熟练掌握。
不得不说,学习vim到现在,我依然觉得sublime更顺手一些。看来vim的学习曲线的确不是虚的,各位加油!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim 在命令...
    im蚂蚁阅读 30,847评论 3 48
  • dpkg 学习 安装mysql apt-get install mysql-server-5.6 apt-get ...
    sharonji阅读 456评论 0 0
  • 自我总结篇: 对文件的操作技巧: vim文件一个有三种状态:命令(浏览/输入命令转变末行模式),文本(添加/编辑/...
    小知大知阅读 822评论 0 0
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,877评论 0 10
  • vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从...
    壹首簡單的歌阅读 897评论 0 7