vim

好用的代码编辑器 vim

写入模式

  1. i 光标之前插入
  2. shift + i 本行最开始插入
  3. a 光标之后插入
  4. shift + a 本行最后面插入
  5. o 下一行插入
  6. shift + o 上一行插入

命令模式

  1. # 光标移动
  2. h
  3. j
  4. k
  5. l
  1. 操作 + 动作
  2. d (剪切) 动作 d4j 右剪切4个字符 dd 剪切到前行
  3. p 粘贴
  4. y (复制) 动作 y10l 左边复制10个字符 yy 复制当前行
  5. c (改变) 动作 c6j 删除右边6个字符 进入插入模式
  6. f (找) fv --> v字母
  7. df: --> 复制找到冒号的内容
  8. w --> 下一个单词
  9. b --> 上一个单词
  10. i --> 自己
  11. eg: ciw --> 删除这个单词进入编辑
  12. eg: " who am i "
  13. di" 剪切双引号里面的内容 yi" 复制里面的内容

可视块

  1. # 块操作
  2. v 进入块操作
  3. 头尾加字符
  4. v 选中要的行
  5. :<,'>normal I/A想加的字符 I头/A尾
  6. ctrl+v 列编辑模式
  7. ctrl+i 编辑好
  8. esc 退出 所以列都改变了

输入模式

:进入输入模式

  1. set nu 显示行号
  2. split 上下分屏
  3. vsplit 左右分屏
  4. color 切换配色
  1. # 打开文件
  2. e + 文件路径
  3. # 打开文件
  4. cat /home/a.txt
  5. 鼠标移动到上面 gf(g to file)
  6. # 回到光标上次修改的地方
  7. ctrl+i
  8. ctrl+o
  9. # 修改了需要管理员权限的文件
  10. 1.先保存到其他地方
  11. : w /home/Desktop
  12. 2. vim执行终端命令
  13. w !sudo tee %(当前文件)
  14. # 生成美化字符的小工具 figlet
  15. map tx :r !figlet 字符
  16. # 打印文件 html pdf
  17. :%TOhtml 当前文件打印html文件

vim 配置文件

家目录 .vim/vimrc

  1. # noremap 修改原来的快捷键
  2. noremap h i # i 替代原来的h键
  3. # map 自定义快捷键
  4. map S :wq<CR> # 大S 保存退出
  5. # <CR> --> 确认 <nop> --> 没有键
  6. # 自定义 不用退出生效当前配置文件
  7. map R :source $MYVIMRC<CR> # R 生效当前配置文件
  8. # 代码高亮
  9. syntax on
  10. # 显示行号
  11. set number
  12. set relativenumber
  13. # 显示线条
  14. set cursorline
  15. # 换行
  16. set wrap
  17. # 显示按键
  18. set showcmd
  19. # 命令模式下 tab补齐菜单
  20. set wildmenu
  21. # 高亮搜索
  22. set hlsearch
  23. set incsearch # 变输入变高亮
  24. # 忽略大小写
  25. set ignorecase
  26. set smartcase
  27. # 自定义分屏快捷键
  28. # split # vsplit splitright 光标在右
  29. map si :set splitright<CR>:vsplit<CR>
  30. map sn :set nosplitright<CR>:vsplit<CR>
  31. map su :set nosplitbelow<CR>:split<CR>
  32. map se :set splitbelow<CR>:split<CR>
  33. # ctrl+w -> hjkl 光标移动
  34. # 修改vim分屏大小
  35. # res 上下 vertical resize
  36. map <up> :res +5<CR>
  37. map <down> :res -5<CR>
  38. map <left> :vertical resize -5<CR>
  39. map <right> :vertical resize +5<CR>
  40. # 打开新的vim标签
  41. # 命令 tabe 上下切换
  42. map tu :tabe<CR>
  43. map tn :-tabnext<CR>
  44. map ti :+tabnext<CR>
  45. # 始终上下有几行
  46. set scrolloff=5

安装插件

  1. vim-plug 插件管理器

地址plug

  1. # 安装插件
  2. curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
  3. https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  4. call plug#begin()
  5. # 插件
  6. Plug 'junegunn/vim-easy-align'
  7. # Initialize plugin system
  8. call plug#end()
  9. :PlugInstall 安装
  1. vim-airline 状态栏

地址airline

  1. Plug 'vim-airline/vim-airline'
  1. vim-snazzy 主题

地址snazzy

好看的vim主题 vim-theme

  1. Plug 'connorholyday/vim-snazzy'
  2. # vim配置文件
  3. color snazzy
  4. # 透明背景
  5. let g:SnazzyTransparent = 1
  1. nerdtree 目录树

地址nerdtree

  1. Plug 'preservim/nerdtree'
  1. YouCompleteMe 代码补全插件

地址YouCompleteMe

  1. Plug 'ycm-core/YouCompleteMe'
  2. 进入这个文件目录
  3. 安装 cmake
  4. sudo python3 install.py
  1. vim-floaterm vim上 浮动终端

地址floaterm

简单使用 blog

  1. Plug 'voldikss/vim-floaterm'
  2. # vim配置 :FloatermNew 打开 :FloatermToggle y隐藏
  3. map 使用快捷键