Skip to content

Latest commit

 

History

History
executable file
·
149 lines (90 loc) · 5.88 KB

045-vim.md

File metadata and controls

executable file
·
149 lines (90 loc) · 5.88 KB
title date categories tags toc donate
Vim 使用小记
2018-08-14 14:20:38 -0700
工具集
Vim
true
fales

Vim 是从 vi 发展出来的一个文本编辑器。

Vim 是什么

Vim 是从 vi 发展出来的一个文本编辑器。它有许多强大的功能,如代码补全、编译及错误跳转等,在程序员中被广泛使用。和 Emacs 并列成为 类Unix系统 用户最喜欢的编辑器。关于 Vim 的更多详情请查阅 Vim wiki

Vim 的简单实用

*可以终端使用 *vimtutor ** 命令打开完整教程。

1 - 光标移动

光标在屏幕文本中的移动既可以用箭头键,也可以使用 **h j k l **字母键。

e 命令可以使光标移动到单词末尾。

按 数字 0 可以移动光标到行首。

  • h (左移)

  • j (下移)

  • k (上移)

  • l (右移)

2 - 进入/退出 Vim 编辑器

  • 终端进入 Vim 编辑器,请输入:vim 文件名 <回车>
  • 退出 Vim 编辑器,请按 esc ,然后输入以下命令之一:
    • :q! <回车> 放弃所有改动。
    • :wq <回车> 保存改动。

3 - 删除文本

  • 在正常模式下删除光标所在位置的字符,请按: x
  • 欲从当前光标删除至下一个单词,请输入:dw
  • 欲从当前光标删除至当前行末尾,请输入:d$
  • 欲删除整行,请输入:dd

4 - 插入文本

  • 输入小写的 i 可以在光标前插入文本
  • 输入小写的 o 可以在光标下方打开新的一行并进入插入模式。 输入大写的 O 可以在光标上方打开新的一行。
  • 输入小写的 a 可以在光标所在位置之后插入文本。 输入大写的 A 可以在光标所在行的行末之后插入文本。

特别提示:按下 esc 会带您回到正常模式或者撤消一个不想输入或部分完整的命令。

5 - 撤销操作

  • 撤消以前的操作,请输入:u (小写)。
  • 撤消在一行中所做的改动,请输入:U (大写)。
  • 撤消以前的撤消命令,恢复以前的操作结果,请输入:CTRL-R

6 - 更改文本

  • 操作符 y 复制文本,p 粘贴先前复制的文本。

  • 粘贴已经删除的文本内容,请按小写字母 p该操作可以将已删除的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将粘贴到当前光标所在行的下一行。

  • 要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字 符即可。

  • 输入大写的 R 将进入替换模式,直至按 esc 键回到正常模式。

  • 输入 ce 可以替换当前光标到单词的末尾的内容;

    输入 c$ 可以替换当前光标到行末的内容。

  • 在一行内替换头一个字符串 old 为新的字符串 new,请输入 :s/old/new

  • 在一行内替换所有的字符串 old 为新的字符串 new,请输入 :s/old/new/g

  • 在两行内替换所有的字符串 old 为新的字符串 new,请输入 :#,#s/old/new/g

  • 在文件内替换所有的字符串 old 为新的字符串 new,请输入 **:%s/old/new/g **

  • 进行全文替换时询问用户确认每个替换需添加 c 标志,请输入 :%s/old/new/gc

7 - 文本搜索

  • 输入 / 然后紧随一个字符串是在当前所编辑的文档中正向查找该字符串。

  • 输入 ? 然后紧随一个字符串则是在当前所编辑的文档中反向查找该字符串。

    完成一次查找后按 n 键是重复上一次的命令,可在同一方向上查找下一个匹配字符串;或者按大写 N 向相反方向查找下一匹配字符串所在。

    CTRL-O 带您跳转回较旧的位置,CTRL-I 则带您到较新的位置。

  • 输入 :set xxx 可以设置 xxx 选项。一些有用的选项如下:

    'ic' 'ignorecase' 查找时忽略字母大小写 'is' 'incsearch' 查找短语时显示部分匹配 'hls' 'hlsearch' 高亮显示所有的匹配短语

  • 在选项前加上 no 可以关闭选项: 如 :set noic

8 - 光标全文跳转

CTRL-G 用于显示当前光标所在位置和文件状态信息。

  • G 将光标跳转至文件最后一行。
  • gg 用于将光标跳转至文件第一行。
  • 跳转到指定行,先输入行号然后输入 G 则是将光标移动至该行号代表的行。

9 - 保存文本

:!command 用于执行一个外部命令 command。

  • :!ls 用于显示当前目录的内容。
  • :!rm filename 用于删除名为 filename 的文件。
  • **:w filename ** 将当前 VIM 中正在编辑的文件保存到名为 filename 的文件中。
  • v motion :w filename 可将当前编辑文件中可视模式下选中的内容保存到文件filename 中。
  • :r filename 可提取磁盘文件 filename 并将其插入到当前文件的光标位置后面。
  • :r !dir 可以读取 dir 命令的输出并将其放置到当前文件的光标位置后面。

10 - 其他操作

  • 重复一个动作,请在它前面加上一个数字:2w
  • 如果光标当前位置是括号 (、)、[、]、{、},按 % 会将光标移动到配对的括号上。

11 - 获取帮助

  • 输入 :help 可以打开帮助窗口。
  • 输入 :help cmd 可以找到关于 cmd 命令的帮助。
    • 输入 :q 以关闭帮助窗口
    • 您可以创建一个 vimrc 启动脚本文件用来保存您偏好的设置。
    • 当输入 **: ** 命令时,按 CTRL-D 可以查看可能的补全结果。按 Tab 可以使用一个补全。

后记

与君共勉:编程是一种技艺,一种需要用心学习的技艺!