【鸟哥Linux】Vim程序编辑器

来源:互联网 发布:php tp框架下载 编辑:程序博客网 时间:2024/06/01 08:50

玩Linux的同学肯定听说过Vim这款编辑器,我已开始用ubuntu时觉得在终端里编辑文档是一件非常蠢的事情,知道某天看一个学长在完全不使用鼠标的情况下高速地编辑代码,这么炫(zhuang)酷(bi)的工具我也要学会。。。

模式转换

这里写图片描述

按键说明

第一部份:一般指令模式可用的按钮说明,光标移动、复制贴上、搜寻取代等

  1. [Ctrl] + [f]:屏幕“向下”移动一页,相当于 [Page Down]按键。
  2. [Ctrl] + [b]:屏幕“向上”移动一页,相当于 [Page Up] 按键。
  3. 0 或功能键[Home]:这是数字“ 0 ”:移动到这一列的最前面字符处。
  4. $ 或功能键[End]:移动到这一列的最后面字符处。
  5. G:移动到这个文件的最后一列。
  6. gg:移动到这个文件的第一列。
  7. n:n 为数字。光标向下移动 n 列。
  8. /word:向光标之下寻找一个名称为 word 的字串。
  9. :n1,n2s/word1/word2/g:n1 与 n2 为数字。在第 n1 与 n2 列之间寻找 word1 这个字串,并将该字串取代为 word2。
  10. :1,$s/word1/word2/g:从第一列到最后一列寻找 word1 字串,并将该字串取代为 word2。
  11. :1,$s/word1/word2/gc:从第一列到最后一列寻找 word1 字串,并将该字串取代为 word2 。且在取代前显示提示字符给使用者确认 (confirm) 是否需要取代。
  12. x, X:在一列字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键)。
  13. dd:删除光标所在的那一整列。
  14. ndd:n 为数字。删除光标所在的向下 n 列。
  15. yy:复制光标所在的那一列。
  16. nyy:n 为数字。复制光标所在的向下 n 列。
  17. p, P:p 为将已复制的数据在光标下一列贴上,P 则为贴在光标上一列。
  18. u:复原前一个动作。
  19. [Ctrl]+r:重做上一个动作。
  20. .:重复前一个动作的意思。

第二部份:一般指令模式切换到编辑模式的可用的按钮说明

  1. i, I:进入插入模式(Insert mode)。i 为“从目前光标所在处插入”, I 为“在目前所在列的第一个非空白字符处开始插入”。
  2. a, A:进入插入模式(Insert mode)。a 为“从目前光标所在的下一个字符处开始插入”, A 为“从光标所在列的最后一个字符处开始插入”。
  3. o, O:进入插入模式(Insert mode)。这是英文字母 o 的大小写。o 为“在目前光标所在的下一列处插入新的一列”; O 为在目前光标所在处的上一列插入新的一列。
  4. r, R:进入取代模式(Replace mode)。r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止。
  5. [Esc]:退出编辑模式,回到一般指令模式中。

第三部份:一般指令模式切换到命令行界面的可用按钮说明

  1. :w:将编辑的数据写入硬盘文件中。
  2. :q:离开 vi 。
  3. :wq:储存后离开,若为 :wq! 则为强制储存后离开。

Vim的额外功能

  1. 区块选择
    v:字符选择,效果与用鼠标选择相同
    V:行选择
    [Ctrl]+v:区块选择,可以用长方形的方式选择数据
    y:将反白的地方复制起来
    d:将反白的地方删除掉
    p:将刚刚复制的区块,在光标所在处贴上

  2. 多文件编辑
    :n:编辑下一个文件
    :N:编辑上一个文件
    :files:列出目前这个 vim 的打开的所有文件

  3. 多窗口功能
    :sp [filename]:打开一个新窗口,如果有filename, 表示在新窗口打开一个新文件,否则表示两个窗口为同一个文件内容(同步显示)。

    [ctrl]+w+ j/[ctrl]+w+↓ 按键的按法是:先按下 [ctrl] 不放,再按下 w 后放开所有的按键,然后再按下 j (或向下方向键),则光标可移动到下方的窗口。

    [ctrl]+w+ k/[ctrl]+w+↑ 同上,不过光标移动到上面的窗口。

Vim环境配置

  1. :set nu/:set nonu:设置与取消行号
  2. :set hlsearch/:set nohlsearch:hlsearch 就是 high light search(高亮度搜寻)。 这个就是设置是否将搜寻的字串反白的设置值。默认值是 hlsearch。
  3. :set hlsearch/set nohlsearch:hlsearch 就是 high light search(高亮度搜寻)。 这个就是设置是否将搜寻的字串反白的设置值。默认值是 hlsearch。
  4. :set autoindent/:set noautoindent:是否自动储存备份文件?一般是nobackup 的, 如果设置 backup 的话,那么当你更动任何一个文件时,则原始文件会被另存成一个文件名为 filename~ 的文件。
  5. :set backup:是否自动储存备份文件。
  6. :set ruler:显示或不显示状态列说明。
  7. :set showmode:这个则是,是否要显示–INSERT– 之类的字眼在左下角的状态列。
  8. :set backspace=(012):一般来说, 如果我们按下 i 进入编辑模式后,可以利用倒退键(backspace) 来删除任意字符的。 但是,某些 distribution 则不许如此。此时,我们就可以通过 backspace 来设置啰~ 当 backspace 为 2 时,就是可以删除任意值;0 或 1 时,仅可删除刚刚输入的字符, 而无法删除原本就已经存在的文字了。
  9. :set all:显示目前所有的环境参数设置值。
  10. :set:显示与系统默认值不同的设置参数。
  11. :syntax on/:syntax off:是否依据程序相关语法显示不同颜色? 举例来说,在编辑一个纯文本文件时,如果开头是以 # 开始,那么该列就会变成蓝色。 如果你懂得写程序,那么这个 :syntax on 还会主动的帮你除错呢!但是, 如果你仅是编写纯文本,要避免颜色对你的屏幕产生的干扰,则可以取消这个设置 。

编码问题

编码转换工具

  1. iconv:可以将指定文件从原始编码转换为目标编码。
  2. dos2unix:由于Windows与Linux对于断行字符的定义不同,可以使用这个工具对纯文本文件进行转换。
0 0
原创粉丝点击