【linux基础】vim常用操作

http://www.cnblogs.com/lijia0511/p/5644566.html

 

1、在线安装vim:(原文

sudo apt-get install vim (ubuntu)

2、vim初始化配置:

  2.1 查看存放位置: 

命令模式键入
:version  (查看基本配置路径)
:echo $VIM(查看具体路径值)
:echo $HOME(查看具体路径值)

  系统版本:/etc/vimrc,是整个系统vim的默认配置;

  用户版本:~/.vimrc,是当前用户的vim配置,会覆盖系统配置, ~/.vimrc有时并不存在,此时用户可以建立一个.vimrc,放入主目录以实现自己的vim配置

3、vim基础操作  

  3.1 插入:

i → 在光标前插入
a → 在光标后插入
o → 在当前行后插入一个新行
O → 在当前行前插入一个新行
cw → 替换从光标所在位置后到一个单词结尾的字符

  3.2 移动光标:

0 → 数字零,到行头(shift + 0,跳转到最后一行的最后一个字符)
^ → 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)(和 _ 有什么区别?)
$ → 到本行行尾
g_ → 到本行最后一个不是blank字符的位置。
/pattern → 搜索 pattern 的字符串(如果搜索出多个匹配,可按n键到下一个)

  3.3 删除/拷贝/粘贴:

x → 删当前光标所在的一个字符
dd → 删除当前行,并把删除的行存到剪贴板里
P → 粘贴(p是表示在当前位置之后,P表示在当前位置之前)
yy → 拷贝当前行当行于 ddP

  3.4 Undo/Redo: 

u → undo  撤销上一步的操作
<C-r> → redo  重做上一步撤销操作

  3.5 打开/保存/退出/改变文件(Buffer):

:e <path/to/file> → 打开一个文件(打开后,当前文件就关闭了?)
:w → 存盘(w 后可以跟文件名)
:saveas <path/to/file> → 另存为 <path/to/file>
:x, ZZ 或 :wq → 保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)
:q! → 退出不保存 :qa! 强行退出所有的正在编辑的文件,就算别的文件有更改。
:bn 和 :bp → 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。(陈皓注:我喜欢使用:n到下一个文件)

  3.6 重复命令:

. → (小数点) 可以重复上一次的命令
N<command> → 重复某个命令N次
举例:
2dd → 删除2行 3p → 粘贴文本3次 10idesu [ESC] → 会写下 “desu desu desu desu desu desu desu desu desu desu “
. → 重复上一个命令—— 100 “desu “. 3. → 重复 3 次 “desu”

  3.7 光标移动:

  1. NG → 到第 N 行 (注意命令中的G是大写的,还可以使用 : N 到第N行,如 :137 到第137行)
  2. gg → 到第一行。 (相当于1G,或 :1)
  3. G → 到最后一行。
  4. 按单词移动

    w → 到下一个单词的开头。

    e → 到下一个单词的结尾。

      > 如果你认为单词是由默认方式,那么就用小写的e和w。默认上来说,一个单词由字母,数字和下划线组成(例:程序变量)

      > 如果你认为单词是由blank字符分隔符,那么你需要使用大写的E和W。(例:程序语句)

      

  5.匹配移动

    % : 匹配括号移动,包括 ({[. (需要把光标先移到括号上)

    * 和 #:  匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)

 

可视化模式可以分为以下三种

v: 进入的字符可视化模式(Characterwise visual mode)。文本选择是以字符为单位的。
V: 进入的行可视化模式(Linewise visual mode)。文本选择是以行为单位的。
CRTL+v: 进入的块可视化模式(Blockwise visual mode)。可以选择一个矩形内的文本。

基本指令

gv: 重复选中前一次可视化模式时选中的文本(对同一段文本反复操作时很方便)
ESC: 退出可视化模式
o: 光标移动到选中文本的另一结尾
O: 光标移动到选中文本的另一角落

实用例子

1)Visual Mode下,一样可以进行各种编辑操作~。
d: 删除高亮显示的文本
D: 删除一行,即使这一行中只有部分文本是高亮显示的。(y/Y, c/C都类似)
y: 复制高亮显示的文本
Y: 命令会复制整行
c: 将高亮显示的文本删除并进入编辑模式
C: 删除一行文本并进入编辑状态

2)高亮显示的文本块,我们可以用命令~进行大小写转换。用命令>增加缩进,或用命令<减少缩进。比如页首增加缩进(指令:ggVG)。

3)每一行行首加入一个#符号(多行注释太方便了)。gg到开头,CTRL+v进入块选择模式, G,这样就选中了所有的第一列,然后I进入列插入状态,然后输入#,再ESC即可。还有一种在行尾增加字符的类似方式, gg->CTRL+V->$(这一步是跳到行尾的关键)->A(列添加状态,可视化模式下,列的写入都是大写的I,A,C)->输入字符->ESC

4)V10j,选中10行,然后J合并成一行,同时以空格来分隔各行。如果不希望在行间插入空格,那么可以使用gJ命令

5)使用g?命令,可以使用rot 13算法来加密高亮显示的文本。针对同一个文本再次执行加密命令,就可以进行文本解密。(其实就是字母转盘,算不上加密)

6)在可视化模式下,按下:键就可以对选定范围进行操作。例如:我们先在可视化模式下选中文本,然后执行:write block.txt命令,就可以将文本块写入另一文件中。选择多行,然后执行:sort命令,则可以对选中的文本进行排序。

 

posted @ 2017-08-17 10:56  亡命鸡礼花  阅读(160)  评论(0编辑  收藏  举报