[TOC]
上古神器Vim:从恶言相向到爱不释手 - 终极Vim教程01 - 带你配置属于你自己的最强IDE_哔哩哔哩_bilibili
sudo cp /etc/vim/vimrc /etc/vim/vimrc.bak
sudo cp vimrc /etc/vim/vimrc
sudo cp -r autoload /etc/vim/
sudo cp -r plugged /etc/vim/GitHub - theniceboy/.vim: I'm using Neovim now: https://github.com/theniceboy/nvim
-
模式
- Normal模式
- Insert模式
- i、a、I、A
- Visual模式、Block Visual模式
-
基本快捷键
- 删除当前字符 —— x
- 改变 —— c
- 改变词 —— ciw
- 下一个词首 —— w
- 上一个词首 —— b
- 下一个词尾 —— e
- 上一个词尾 —— 未知
- 词中 —— i
- 寻找下一个符合的位置 —— f
- 删除至某字符 —— df<某字符>
- 回到行首 —— 0
- 当前行置为中心 —— zz
- 设定颜色 —— :color
- 默认颜色 —— :color default
-
- 操作+动向
- 重复操作 —— 对本行操作
-
配置文件
- ~/.vim/vimrc
-
配置语句
- 更改键位(涉及递归) —— noremap
- 更改键位(不涉及递归)—— map
- 回车 ——
- 无操作 ——
- 运行 —— exec
-
:source $MYVIMRC —— 重载配置文件
-
高亮 —— syntax on
-
设置行号 —— set number
- 设置相关行号 —— set relativenumber
- 取消相关行号 —— set norelativenumber
-
显示编辑行 —— set cursorline
-
自动换行 —— set wrap
-
显示指令 —— set showcmd
-
普通模式输入指令自动补全 —— wildmenu
-
高亮搜索 —— hlsearch
- 边输入边高亮 —— incsearch
- 取消高亮搜索 —— nohlsearch
- 忽略大小写搜索 —— ignorecase
- 只能大小写搜索 —— smartcase
- 下一个 —— n
- 上一个 —— N
- 退出搜索范围 —— 回车
- 取消搜索 —— LEADER+回车
-
设置键 —— let mapleader = “ ”(默认/)
-
分屏
- 上下分屏 —— :split
- 左右分屏 —— :vsplit
-
插件安装
GitHub - junegunn/vim-plug: Minimalist Vim Plugin Manager
GitHub - vim-airline/vim-airline: lean & mean status/tabline for vim that's light as air
GitHub - ycm-core/YouCompleteMe: A code-completion engine for Vim
YouCompleteMe server problem只需要python3编译YCM即可,不用改vim
上古神器Vim:进阶使用/配置、必备插件介绍 - 终极Vim教程02 - 带你配置属于你自己的最强IDE_哔哩哔哩_bilibili
- Visual Block模式 —— ctrl+
- esc退出并应用
- Visual模式使用普通模式指令 —— normal
- :输入normal,输入指令
- 分屏 —— :split
- 向下分屏 —— sl
- 向下分屏 —— sr
- 向下分屏 —— su
- 向下分屏 —— sd
- 退出分屏 —— Q
- 切换分屏 —— +h/j/k/l
- 更改分屏大小 —— +↑/↓/←/→
- 切换为左右分屏 —— sv
- 切换为上下分屏 —— sh
- 标签 —— :table
- 打开新的标签页 —— tu
- 左标签页 —— -tabnext —— t-
- 右标签页 —— +tabnext —— t=
- 插件预设置
- 去除老设置对新插件的功能影响 —— set nocompatible
- 一般插件需要写入
- filetype on
- filetype indent on
- filetype plugin on
- filetype plugin indent on
- 使用鼠标 —— set mouse=a
- 设置编码格式 —— set encoding=utf-8
- 配色保证 —— let &t_ut=’’
- 缩进设置
- set expandtab
- set tabstop=2
- set shiftwidth=2
- set softtabstop=2
- tw=0
- indentexpr=
- 显示行尾空格 —— list
- listchars=tab:→\ ,trail:∎
- 普通模式退格键由行首回行尾 —— set backspace=indent,eol,start
- 光标设置(失败)
- let &t_SI = “<Esc>]50;CursorShape=1\x7”
- let &t_SR = “<Esc>]50;CursorShape=2\x7”
- let &t_EI = “<Esc>]50;CursorShape=0\x7”
- 底部状态栏位置 —— set laststatus=2
- 执行指令默认在当前目录 —— set autochdir
- 第二次打开文件光标回到上一次编辑位置 ——
au BufReadPost * if line("'"") > 1 && line("'"") <= line("$") | exe "normal! g'"" | endif
- 插件
- nerdtree —— 文件目录
- 启动 —— tt
- 帮助 —— ?
- YouCompleteMe —— 代码补全
- 需要安装
- ale —— 代码纠错
- tagbar —— 函数列表
- undotree —— 文件修改历史
- 打开undotree —— L
- markdown-preview —— md预览
「妈妈不会告诉你的Vim技巧」 -Vim终极教程03 - 带你配置属于你自己的最强IDE_哔哩哔哩_bilibili
- 上下编辑预留行 —— set scrolloff=5
- 拼写检查 —— :set spell! —— sc
- 错误纠正列表 —— z=
- 自动联想 —— ctrl+x s(失败,会无响应)
- Ctrl+x ——
- 回到上一次编辑位置 —— ctrl+o
- 再回到上一次编辑位置 —— ctrl+i
- 新打开vim也可使用
- 自动配置安装自定义vim(待)
- 代码内打开另一文件 —— gf
- 结合ctrl+o与ctrl+i
- 智能马桶.conf 保存有问题
- 先另存为temp再管理员权限移动
- :w !sudo tee %
- ! —— 终端下指令
- tee —— 输入流
- % —— 当前文件
- 空缺补全(≤++>)
- map /<++>:nohlsearchc4l
- 大字 —— :figlet —— tx
- 读取 —— :r —— r
- 转换为html —— :%TOhtml
- 数字加1 ——
- 数字减1 ——