Vim 文本编辑器_及使用技巧

来源:互联网 发布:马上6是什么软件 编辑:程序博客网 时间:2024/05/22 03:43

Vim简介

Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器。它的作用是建立、编辑、显示文本文件。

Vim只有命令,没有菜单

Vim工作模式

这里写图片描述

插入命令

a: 在光标所在字符后插入
A: 在光标所在行行尾插入
i: 在光标所在字符前插入
I: 在光标所在行行首插入
o: 在光标下插入新行
O: 在光标上插入新行

定位命令

:set number :设置行号(可以简写为set nu)
:set nonumber:取消行号(可以简写为set nonu)
gg: 到第一行
G:到最后一行
nG:到第n行
:n:到第n行
$:移至行尾
0(零):移至行首

删除命令

x:删除光标所在处的字符
nx:删除光标所在处后的n个字符
dd:删除光标所在行,ndd删除n行
dG:删除光标所在行到文件末尾内容
D:删除光标所在处到行尾内容
:n1.n2d:删除指定范围的行

复制和剪切命令

yy:复制当前行
nyy:复制当前行以下n行
dd:剪切当前行
ndd:剪切当前行以下n行
p、P:粘贴在当前光标所在行下或行上

替换或取消命令

r:取代光标所在处的字符
R:从光标所在处开始替换字符,按Esc结束
u:取消上一步操作

搜索和搜索替换命令

/string:搜索指定字符串,搜索时忽略大小写:set ic
n:搜索指定字符串的下一个出现位置
:%s/old/new/g:全文替换指定字符串
:n1,n2/s/old/new/g:在一定范围内替换指定字符串

保存和退出文件

:w:保存修改(write)
:w new_filename:另存为指定文件
:wq:保存修改并退出
ZZ:快捷键,保存修改并退出
:q!:不保存修改并退出
:wq!:保存修改并退出(文件所有者及root可用)

注意:
#chmod u-w /文件
# vi 文件 提示W10: Warning: Changing a readonly file
:wq 无法保存
:wq!成功保存(仅root和文件所有者可以使用)

Vim使用技巧

  • 导入某文件到当前文件中
    • :r 文件名
  • 不退出Vim时,查询命令位置
    • :! which 命令
    • 这里写图片描述
  • 导入命令执行结果 (前两者的结合)
    • :r ! 命令
      这里写图片描述
      结果:
      这里写图片描述
  • 定义快捷键
    • :map 快捷键 触发命令
    • eg: :map ^p I#< ESC >
    • 注意:^是Ctrl+V生成的,而不是Shift+6产生的
    • :map < F1 > < Esc >
      就可以把 < F1 > 映射到 < Esc > 上,之后按 < F1 > 就和按 < Esc > 一样。这可以修改已有的快捷键。
      如果想删除,可以用:
      :map < Esc > < Nop >
      < Nop > 是个特殊的功能,表示无操作。所以上面那条就可以关闭 < Esc > 的功能,相当于删除快捷键。
      但要注意,如果这两个映射你都有定义,那么 < F1 > 映射到 < Esc > 而后者又映射到 < Nop > 相当于 < F1 > 也间接映射到 < Nop > 了。如果你不希望递归映射,可以使用 noremap 来代替 map,比如:
      :noremap < F1 > < Esc >
      这样你再映射 < Esc > 并不会对 < F1 > 产生影响。
  • 连续行注释:
    • :n1,n2s/^/#/g(g表示不需要确认)
    • :n1,n2s/^#//g(n1到n2行行首的#去掉,//之间为空表示删除)
    • :n1,n2s/^/\/\//g(\转义符,区分/是分隔还是字符)
  • 替换
    • :ab mymail hhhhhh@Linux.com
    • Vim编辑时敲击mymail 回车 ,会输入hhhhhh@Linux.com
  • 保存自定义快捷键和替换信息:
    • 将命令写入家目录下.vimrc(写入此文件时不加:)
原创粉丝点击