vimtutor读书笔记

《vimtutor》note

Vim常用命令(vimtutor)

移动命令

h (左移) j (下行) k (上行) l (右移)
b (上个单词) w(下个单词)
^(跳到行首) $(跳到行末)
gg(跳到第一行) G(跳到最后一行) nG(跳到第N行)

插入

i光标后插入
I光标前插入
o下一行插入
O上一行插入

删除命令

  1. dw 可以從光標處刪除至一個單字/單詞的末尾。

  2. d$ 从光标处刪至当前行尾部

  3. dd删除整行

  4. x删除第一个字母
    输入u可以撤销删除命令,输入U可以修正整行
    刪除命令 d 的格式如下︰

     [number]   d   object      或者     d   [number]   object
    

其意如下︰
number - 代表執行命令的次數(可選項,缺省設置為 1 )。
d - 代表刪除。
object - 代表命令所要操作的對象(下面有相關介紹)。
一個簡短的對象列表︰
w - 從當前光標當前位置直到單字/單詞末尾,包括空格。
e - 從當前光標當前位置直到單字/單詞末尾,但是包括空格。
$ - 從當前光標當前位置直到當前行末。

撤销命令

  1. u来撤销最后一次执行的命令
  2. U修正本行
  3. ctrl + u撤销掉撤销

替换命令

  1. p 在使用d命令删除后,删除的内容会进入缓冲区,在你准备插入的位置*上方输入p,会将缓冲区内容粘贴
  2. r 输入后替换当前光标所在的字符
  3. cw 改变单词的全部
  4. c 和d指令一样,变为插入
  5. o在光标下插入新的一行
  6. a 在光标之后插入字符
  7. A 在hang末插入

定位及文件状态

  1. ctrl + g显示当前文件的状态(行号)
  2. 行号+shift + g 跳到文件中的指定行
  3. /'string' 搜索当前字符 n为下一个 shift+n为上一个
  4. ?‘string’反向查找
  5. % 识别括号),],}
  6. :s/old/new/g 可以当前行内替换 old 为 new
  7. :%s/old/new/g 文中全部 old 替换为 new

运行命令

  1. :#,# w documentMane 保存指定位置为新文件
  2. :r documentNme 提取文件

设置命令的选项

:set xxx

技巧

:E = vim一个文件
:pwd - 查看当前目录

缓冲区buffer

其实,你用:E 浏览打开的文件都没有被关闭,这些文件都在缓冲区中。你可以用下面的命令来查看缓冲区:
:ls 可以用:buffer x切换文件

vim分屏

启动分屏
  1. 使用大写的O参数来垂直分屏。
    vim -On file1 file2 ...
  2. 使用小写的o参数来水平分屏。
    vim -on file1 file2 ...
  3. 上下分割当前打开的文件。
    Ctrl+W s
  4. 上下分割,并打开一个新的文件。
    :sp filename
  5. 左右分割当前打开的文件。
    Ctrl+W v

关闭

Ctrl + W c

移动光标

  1. 把光标移到右边的屏。
    Ctrl+W l
  2. 把光标移到左边的屏中。
    Ctrl+W h
  3. 把光标移到上边的屏中。
    Ctrl+W k
  4. 把光标移到下边的屏中。
    Ctrl+W j
  5. 把光标移到下一个的屏中。.
    Ctrl+W w

屏幕尺寸

  1. 让所有的屏都有一样的高度。
    Ctrl+W =
  2. 增加高度。
    Ctrl+W +
  3. 减少高度。
    Ctrl+W -

分屏浏览

:Te

  1. gt – 到下一个页

  2. gT - 到前一个页

  3. {i} gt – i是数字,到指定页,比如:5 gt 就是到第5页

代码补全

  1. 【Ctrl +N】 - 当你按下这它时,你会发现Vim就开始搜索你这个目录下的代码,搜索完成了就会出现一个下拉列表
  2. 【Ctrl + P】 – 接下来你可以按这个键,于是回到原点,然后你可以按上下光标键来选择相应的Word。

其他

字符相关
【guu 】 – 把一行的文字变成全小写。或是【Vu】

【gUU】 – 把一行的文件变成全大写。或是【VU】

按【v】键进入选择模式,然后移动光标选择你要的文本,按【u】转小写,按【U】转大写

【ga】 – 查看光标处字符的ascii码

【g8】 – 查看光标处字符的utf-8编码

【gf】 - 打开光标处所指的文件 (这个命令在打到#include头文件时挺好用的,当然,仅限于有路径的)

【*】或【#】在当前文件中搜索当前光标的单词

缩进相关
【>>】向右给它进当前行 【<<】向左缩进当前行

【=】 - 缩进当前行 (和上面不一样的是,它会对齐缩进)

【=%】 – 把光标位置移到语句块的括号上,然后按=%,缩进整个语句块(%是括号匹配)

【G=】 或是 【gg=G】 - 缩进整个文件(G是到文件结尾,gg是到文件开头)

复制粘贴相关
按【v】 键进入选择模式,然后按h,j,k,l移动光标,选择文本,然后按 【y】 进行复制,按 【p】 进行粘贴。

【dd】剪切一行(前面加个数字可以剪切n行),【p】粘贴

【yy】复制一行(前面加个数字可以复制n行),【p】粘贴

光标移动相关
【Ctrl + O】向后回退你的光标移动

【Ctrl + I 】向前追赶你的光标移动

这两个快捷键很有用,可以在Tab页和Windows中向前和向后trace你的光标键,这也方便你跳转光标。

读取Shell命令相关
【:r!date】 插入日期

上面这个命令,:r 是:read的缩写,!是表明要运行一个shell命令,意思是我要把shell命令的输出读到vim里来。

推荐阅读更多精彩内容

  • dpkg 学习 安装mysql apt-get install mysql-server-5.6 apt-get ...
    sharonji阅读 81评论 0 0
  • 曾经使用了几年多的Vim,手册也翻过一遍。虽然现在不怎么用vim了,曾经的笔记还是贴出来,与喜欢vim的朋友分享。...
    Sylar丶阅读 192评论 0 0
  • 1. 关于Vim vim是我最喜欢的编辑器,也是linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我...
    Dyworldhua阅读 353评论 0 2
  • 自我总结篇: 对文件的操作技巧: vim文件一个有三种状态:命令(浏览/输入命令转变末行模式),文本(添加/编辑/...
    小知大知阅读 291评论 0 0
  • vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从...
    壹首簡單的歌阅读 431评论 0 7