VIM的基本使用方法和配置

208 阅读1分钟

好家伙,新姿势,原来Xmind可以导出Markdown文档的。

懒得写了,直接上图吧

Vim杂技.png

VIM

安装

Debain,Ubuntu

  • sudo apt install -y vim

Archlinux

  • sudo pacman -S vim

macOS

  • 不用安装,一般自带
  • sudo brew install vim

工作模式

普通模式

插入模式

替换模式

可视化模式

命令行模式

光标操作

单字符移动

  • 按键k,光标向上移动一个字符
  • 按键j,光标向下移动一个字符
  • 按键h,光标向左移动一个字符
  • 按键l,光标向右移动一个字符

单词移动

  • 按键w,光标移动到下一个单词的开头

    • nw,n表示要移动的单词数量,例如2w,表示光标移动2个单词的数量。
  • 按键b,光标移动到上一个单词的开头

  • 按键e,光标移动到下一个单词的结尾

  • 按键E,光标移动到下一个单词的结尾(忽略标点符号

  • 按键ge,光标移动到上一个单词的结尾

行移动

  • $,表示移动到当前行的结尾

  • 0,表示移动到当前行的行首

  • ^,表示移动到当前行的一个非空字符

  • n|,表示移动到当前行的第n列

    • n表示数量词,例如2l,表示移动到当前行2列的位置
  • f*,*表示任意字符,例如fa,表示移动到当前行的第一个a的字符上

    • nf*,n表示数量,例如2fa,表示移动到当前行的第3个a字符上
  • %,在符号(),[],{}之间跳跃

屏幕移动

  • nG,光标跳转到指定的第n行
  • gg/G,光标跳转到文件的开头或末尾
  • L,光标移动到当前屏幕的末尾
  • M,光标移动到当前屏幕的中间
  • Ctrl+g,查看当前光标的位置
  • Ctrl+u/d,光标向前/后半屏滚动
  • Ctrl+f/b,光标向前/后全屏滚动

文本操作

基本操作

  • i/a,在光标前/后插入字符
  • I/A,在当前行行首或行尾插入字符
  • o,在当前光标所在的下一行插入字符
  • x,删除当前光标所处的字符
  • X,删除光标左边的字符
  • dw,删除一个单词
  • dd,删除当前光标所在的一整行
  • 2dd,删除当前光标所在行和下一行
  • yw,复制一个单词
  • yy,复制一整行
  • p,粘贴光标所在的下一行
  • J,删除一个换行符,当前行与下一行合并

查找替换

  • /*,向下查找字符,*为任意字符,例如/vim,即向下查找vim
  • ?*,向上查找字符,*为任意字符,例如/vim,即向上查找vim
  • :set hls,高亮光标所在单词,按n浏览下一个
  • s/old/new,替换old为new,old和new换成你要替换的
  • s/old/new/g,替换当前行所有old为new
  • %s/old/new/g,将文本中的所有old替换成new
  • %s/^old/new/g,将文本中的所有以old开头的替换成new

保存退出

  • u,撤销上一步

  • q,若文件没有直接修改,直接退出

  • q!,若文件修改了,不保留修改,直接退出

  • wq,若文件修改了,则保存退出

  • e!,若文件已修改,则放弃修改,恢复文件打开时的状态

  • w !sudo tee %,在Shell普通身份下保存root身份的文件

    • 原理:%表示当前的文件名,tee命令用来把缓冲区的数据保存到当前文件,这个命令会提示你输入当前用户的密码,输入密码后选择OK确认,然后这个命令就可以提升权限,将你的修改保存到 文件中

配置(vimrc

用户级配置

  • $HOME/.vimrc
  • ~/.vim/vimrc

系统级配置

  • /etc/vim/vimrc

按键映射

关键字:inoremap

插件

~/.vim/plugin