vim简单使用


vim 是什么?

vim/vi 是 Unix / Linux 上最常用的文本编辑器而且功能非常强大。但是【只有命令,没有菜单】

Vscode vim 基础使用:

y 复制(先选中)
yy 复制一行
nyy 复制多行(n 为行数)
p 粘贴
u 撤销
移动光标至所选行的开头,按 v 进入视图,键盘上按向下键,选中所需行即可。
恢复刚才的操做 ctrl+r
v+w 打开选中模式,并向后移动一个单词
v+b 打开选中模型,并向前移动一个单词
v+i+w 打开选中模式,并选中当前单词

vim 的模式

一、默认 normal 模式

正常模式一般用于浏览文件,也包括一些复制、粘贴、删除等操作。这时击键时,一般的键/键组合会被当成功能键,而不会键入对应的字符。在这个模式下,我们可能通过键盘在文本中跳来跳去,跳动的范围从小到大是字符、单词、行、句子、段落和屏幕。启动 vim 后默认位于正常模式。不论位于什么模式,按下<Esc>键(有时需要按两下)都会进入正常模式。

  • 移动
    <font color=red >单词操作:</font>
    w= word 跳到下一个单词的开头
    e= 跳到下一个单词的结尾
    b= back word 跳到上一个单词的开头
    <font color=red >行操作:</font>
    0 行首
    I 单词行首
    $ 行尾
    A 单词行尾
    15gg 跳转到 15 行
    :18 = 进入 18 行
    18G =进入 18 行
    gg 文件首行
    G 文件末行
    Shift + [] 是以「代码块」为单位跳行
    Ctrl + u 和 Ctrl + d 实现上下滚动页面,滚动行数默认为半页大小
    [[跳到文件首行,而]] 则是行末。
    gd: 函数的跳转 go to defined
    ctr+o 退出到原先的函数位置
    当前行下移一行 :m+
    当前行上移一行 :m-2

  • 选中
    v+i+w 放在一个单词的任意位置时均可选中本单词
    v+e 光标放在一个单词的开头时可选中本单词
    v+h/j/k/l 进入视图模式后使用方向键容易选中你想选的部分

  • 删除
    d = delete 删除 d 是开启剪切模式
    x= 删除一个字符
    dG = 删除全部
    3x = 3 个字符
    dd= 剪切一行/ndd 删除 n 是数字
    dw = delete word 删除一个单词-光标在单词位置
    diw = delete inner word 删除一个单词进入插入模式
    daw = delete around word 包含空格
    s 是删除当前光标所指并转为 insert 模式


  • c= change
    cc= 删除一行并且进入写入模式
    ciw=删除一个单词并进入插入模式
    ct) = 光标不在括号内,修改到右括号,
    ct) =光标在括号内容第一个字符,删除()内容进入插入模式
    以下命令可以对标点内的内容进行操作。
    ci’、ci”、ci(、ci[、ci{、ci< - 分别更改这些配对标点符号中的文本内容
    di’、di”、di(或 dib、di[、di{或 diB、di< - 分别删除这些配对标点符号中的文本内容
    yi’、yi”、yi(、yi[、yi{、yi< - 分别复制这些配对标点符号中的文本内容
    vi’、vi”、vi(、vi[、vi{、vi< - 分别选中这些配对标点符号中的文本内容


  • 查找’name’: /name n 向下 N 向上
    取消查找高亮命令: :nohl
    在 normal 模式下按下*即可查找光标所在单词
    在查找模式中加入\c 表示大小写不敏感查找,\C 表示大小写敏感查找。
    例如:/foo\c 将会查找所有的”foo”,”FOO”,”Foo”等字符串。
    查找替换
    :s(substitute)命令用来查找和替换字符串
    例如:%s/foo/bar/g 会在全局范围(%)查找 foo 并替换为 bar,所有出现都会被替换(g)
    g 即是替换标志之一,如: i 表示大小写不敏感查找,I 表示大小写敏感。
    还有空替换标志表示只替换从光标位置开始,目标的第一次出现:
    :%s/foo/bar

作用范围分为当前行、全文、选区等等。
当前行:
:s/foo/bar/g
全文:
:%s/foo/bar/g
选区,在 Visual 模式下选择区域后输入:,Vim 即可自动补全为 :’<,’>。
:'<,'>s/foo/bar/g
2-11 行:
:5,12s/foo/bar/g
当前行.与接下来两行+2:
:.,+2s/foo/bar/g

二、insert 插入模式

在正常模式中按下 i, I, a, A 等键,会进入插入模式。
小写包含空格,大写不包含空格
a/A = append: 后面插入
i /I = insert :前面插入
o/O = open a line :另起一行
现在只用记住按 i 键会进行插入模式。插入模式中,击键时会写入相应的字符
保存:
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
:q 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑命令历史

三、visual 可视模式

在正常模式按下 v, V, <Ctrl>+v,可以进入可视模式。可视模式中的
操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。

i( =会选中括号里面的单词
i” = 会选中””引号里内容
a( =会选中括弧以及括弧里面的单词
a” =会选中””和内容
aw =会选中单词以及单词前面的一个空格
iw = 会选中一个单词 (visual 模式)

四、command 命令模式


文章作者: Sisi
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Sisi !
 上一篇
vue多服务启动 vue多服务启动
vue项目+nodejs服务,如何前后端服务同时启动?前言有时我们在vue项目里使用了Nodejs 提供接口服务或者使用到jar包程序时,这时就需要同时执行两条服务命令,我们可以分别开两个cmd窗口去启动对应服务但是比较麻烦. 解决方案使用
2021-01-24
下一篇 
vue3优势! vue3优势!
vue3.x 开始2020年 9.18发布3.0版本、代号: One Piece (海贼王),耗时两年,2600+提交,99位贡献者。 vue2.x 面临的问题vue2.x版本发布于数年前,基于es5的技术架构,受限于当时通用浏览器的版本问
2021-01-17
  目录
L
O
A
D
I
N
G