1 . 重复最后一个修改命令 2 u 撤销最后命令 3 U 恢复该行最初状态 4 5 ++++++++++++++++++++++++++++++++++++++++++++ 6 x 删除字符 7 X 删除光标左边字符 8 D 删除至行尾 9 C 修改至行尾 10 s 修改字符 11 S 修改行 12 dfxxx 搜索+删除 13 J 删除两行之间换行符 14 dw 删除到下一个单词开头 15 db 删除到前一个单词开头 16 diw 删除单词(不包括空白) 17 daw 删除单词(包括空白) 无需移动 18 ~ 修改光标下字母的大小写 19 I 移动到当前行第一个非空字符并启动插入模式 20 A 移动到行尾 启动插入模式 21 c w 更改单词 并进入插入模式 22 cis 修改句子 23 cas 修改句子(包括空白) 24 25 ctrl-w "删除整个单词 26 ctrl-u "删除整行 27 ctrl-u "删除自第一个非空字符至光标之间的文本 28 29 ++++++++++++++++++++++++++++++++++++++++++++ 30 P 插入到光标之前 31 yy 复制整行 32 Y 复制整行 33 "*yy 拷贝到剪切版 34 "*p 粘贴 35 ++++++++++++++++++++++++++++++++++++++++++++ 36 :[range]substitute/from/to/[flags] 37 38 / 向后查找 39 ? 向前查找 40 41 [range] : % 表示所有行 42 number 单个数值表示某一行 43 . 当前行 44 .,$ 当前行到文件尾 45 46 ^xxx 以xxx为首的单词xxx 47 xxx$ 以xxx为尾的单词xxx 48 ^xxx$ 仅包括xxx的行 49 . 匹配任意字符 50 51 :'<,'> 标记之内的范围 52 53 [flags] : g 表示所有匹配点 54 c 每次替换时确认 55 在一行內替換頭一個字符串 old 為新的字符串 new,請輸入 :s/old/new 56 在一行內替換所有的字符串 old 為新的字符串 new,請輸入 :s/old/new/g 57 在兩行內替換所有的字符串 old 為新的字符串 new,請輸入 :#,#s/old/new/g 58 在文件內替換所有的字符串 old 為新的字符串 new,請輸入 :%s/old/new/g 59 進行全文替換時詢問用戶確認每個替換需添加 c 選項,請輸入 :%s/old/new/gc 60 61 搜索中 . * [ ] ^ % / \ ? ~ ^ 需要\ 转义 62 63 :set ic = :set ignorecase 搜索匹配的时候忽略大小写 64 :set hlsearch 匹配高亮全部 65 :set incsearch 增量(输入即高亮) 66 :set wrapscan 到文件尾自动折返 67 ================================================================== 68 移动 69 w b 词首 70 e ge 词尾 71 ^ $ 0 行首尾 72 fx 向前查找本行的字符 x (可计数) nfx 73 Fx 向后 74 tx 到查找字符的前一字符 (to some-word) 75 Tx 76 77 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 78 % 括号匹配 79 nG 移动到第几行 80 n% 移动到文件的n%部分 81 H M L 移动到屏幕的某个部分 82 83 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 84 滚动半屏 滚动一行 滚动一页 85 ctrl-u ctrl-e ctrl-f 86 | | | 87 ctrl-d ctrl-y ctrl-b 88 zz 光标行处于屏幕中间 89 zt 光标行处于屏幕顶间 90 zb 光标行处于屏幕底间 91 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 93 ++++++++++++++++++++++++++++++++++++++++++++ 94 可视模式 95 o other end 96 O 另一个对角 97 ~ 交换大小写 98 U 转换为大写 99 u 转换为小写 100 r 以某个字符填充 101 > 平移 102 < 平移 103 :set shiftwidth=4 "平移距离 104 J 删除选中行的所有换行符 105 gv 重复上次的可视选择 106 ++++++++++++++++++++++++++++++++++++++++++++ 107 :set compatible? "是否关闭兼容模式 108 :scriptnames "所有配置脚本 109 :set showmode 110 :set number 111 :set ruler "右下角显示当前光标位置 112 :set backup "保留备份 113 :set history "命令历史 114 :set showcmd "显示未完成的命令 115 :set syntax on "语法高亮 116 :set filetype plugin indent on "文件类型探测 117 :set iskeyword+=xxx 118 :set iskeyword-=xxx 119 :set cmdheight=n "消息显示的空间 120 :set wrap "回绕行 121 :set matchtime=15 "括号匹配时间 122 :set whichwrap=b,s,<,>,[,] "命令可在多行移动 123 -------------------------------------------- 124 :syntax enable "自动检测类型并高亮 125 :set filetype 126 :set filetype=abcde 127 :set background=dark/light/..... "设置背景色 128 :syntax reset 129 :colorscheme xxxxx "主题挑选 130 ~/.vim/color/* "当前用户*/ 131 :runtime syntax/colortest.vim 132 :syntax clear 133 :syntax off 134 :syntax manual=ON/OFF 135 -------------------------------------------- 136 vimrc 137 138 "在一行大于n个字符时自动换行 139 autocmd FileType text setlocal textwidth=n 140 141 -------------------------------------------- 142 plugin 143 144 "文件类型插件 位于ftplugin/ 145 :filetype plugin on 146 147 ftplugin/<filetype>.vim 148 ftplugin/<filetype>_<name>.vim 149 ftplugin/<filetype>/<name>.vim 150 151 mkdir ~/.vim 152 mkdir ~/.vim/plugin or mkdir ~/.vim/plugin/x/xx.vim 153 mkdir ~/.vim/ftplugin 154 -------------------------------------------- 155 文件操作 156 :edit 157 :hide 158 :write 159 :write >> somefile "将文本写入到文件的末尾 160 :saveas some.file "另存为 161 :file some.file "改变文件名 但不立即保存(未编辑文件) 162 :next 163 :args 164 :previous 165 :last 166 :first 167 :nlast /:nfirst 168 :read file "将file插入到当前文件光标之下 169 170 :set autowrite 171 :set backupext=.bak "以.bak为备份文件的后缀名 172 :set fileformat=unix "文件格式转换为unix(或者dos) 173 vim -R file "只读方式打开 174 view file "只读方式打开 175 vim -M file "禁止文件修改方式打开 176 :set modifiable :set write "去掉保护 177 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 178 ctrl-^ 文件之间跳转 179 '" 标记上次离开文件的位置 180 '. 最后一次修改文件的位置 181 跳转 182 nG跳转至n行 '' "回到跳转时的行(单引号可以) 183 ctrl-o 跳到较老的地方 184 ctrl-i 跳到较新的地方 185 186 ctrl-] 跳转 187 ctrl-O 跳回 188 ctrl-t 跳转 189 190 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 标记 bookmark 192 m+小写字母 可使用26个字母标记 193 '+小写字母 跳转字母标记 194 :marks 获取标记列表 195 196 ' 跳转前的光标位置 197 " 最后编辑的光标位置 198 [ 最后修改的开始位置 199 ] 最后修改的结束位置 200 201 m+大写字母 全局文件标记 202 50%mX 在文件中间(50%)的地方标记为X 203 '+大写字母 204 :mark+字母 "获取字母所在 205 206 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 207 使用寄存器 208 "xyas "将句子拷贝到寄存器f中 209 "x3y "拷贝三个整行到寄存器x中 210 "xyiw "拷贝一个单词到X中 211 "可视区域xy "拷贝可视区域到x 212 "xp "将X中内容复制 213 "wdaw "将一个单词删除进入寄存器w中 214 215 ctrl-R{register} "插入寄存器里面的内容 216 :iabbrev xx xxxxx "缩写 217 :abclear "删除缩写 218 219 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 221 -------------------------------------------- 222 窗口:split 223 "带有“====”为状态栏 224 ctrl-w ctrl-w "窗口切换 225 :close 226 :only 227 :split somefile 228 :new "打开窗口编辑新文件 229 :nsplit "打开n个窗口 230 ctrl-w + "可带前缀 231 ctrl-w - "可带前缀 232 {height}ctrl-w _ "窗口设置为指定高度 233 234 :vsplit "垂直分割 235 :vnew 236 :vertical new 237 238 239 ctrl-w h 240 ctrl-w j 241 ctrl-w k 242 ctrl-w l 243 244 ctrl-w t "跳转到最顶上的窗口 245 ctrl-w b "跳转到最下面的窗口 246 :qall "对所有窗口命令 247 vim -o a b c d "为每个文件打开一个窗口(水平) 248 :vertical all 249 250 vimdiff a b 251 :vertical diffsplit file 252 253 标签页 254 :tabedit 255 goto tab=gt命令 256 :tab some 建立另一个标签页 257 :tabonly 258 ================================= 259 窗口标题 260 261 - 不能修改 262 + 已修改 263 = 只读 264 =+ 只读但被修改 265 266 :set guioption-=T "删除T标记 267 268 :behave xterm :behave mswin "鼠标行为 269 ================================= 270 宏 271 272 q{register}q "录入宏 273 @{register} "查看宏 274 @@ "重复上一个宏命令 275 宏可以通过复制粘贴等等进行修改 276 q+大写字母 "记录追加到相应小写字母 277 278 ================================= 279 global 命令 280 :[range]global/{pattern}/{command} 281 282 :!{program} 283 :r !{program} 284 :w !{program} 285 :[] !{program} 286 ================================= 287 排版 288 :set textwidth=80 289 gqap "排版当前段落 290 gggqG "排版整个文档 291 guu gUU g~~ "整行大小写变换 292 293 :{range}center [width] "使一定范围内的行居中 294 :{range}right [width] "使一定范围内的行右对其 295 :{range}leftt [width] "使一定范围内的行左对其 296 :set autoindent 297 :set list "显示TAB 298 :set listchars=tab:>-,trail:- "显示为">----" 299 :set softtabstop=4 "tab设置 300 :set linebreak "断词 301 :g/./,/^$/join "变段为行 302 :set virtualedit=all "光标再没有文本的位置 被设置为虚拟空间 303 :set virtualedit= " 返回光标非虚拟状态 304 ================================= 305 !{motion}{program} "使用外部程序 以文本块尾输入以程序输出替换文本块 306 307 !!date "加时间戳(以date输出代替当前行) 308 :read !ls "把当前目录的内容读入文件 309 :write !wc "统计字数 310 ================================= 311 tools 312 :g/^/m 0 "反转行顺序 313 g+ctrl+G "单词统计 314 :%s/\s\+$// "删除行尾空格 315 316 ctrl-g 用于顯示當前光標所在位置和文件狀態信息。 317 Shift-G 用于將光標跳 轉至文件最後一行。先敲入一個行號然後按 Shift-G 則是將光標移動至該行 號代表的行。 318 319 :digraphs "二合字母 320 ================================= 321 命令行上面 322 ctrl-b "行首 323 ctrl-e "行尾 324 ctrl-w "删除光标前的整个单词 325 ctrl-u "删除整个命令 326 ctrl-c "取消 327 ctrl-d "查看匹配总览 328 :history "显示历史命令 329 :history / "搜索历史记录 330 q: "打开命令行窗口 331 ctrl-o {command} "在插入模式下执行普通模式的命令 332 333 ================================= 334 viminfo 335 336 命令行 模式搜索的历史 337 寄存器 338 文件内标记 339 缓存其 340 全局变量 341 342 '0 "返回中断处 343 :oldfiles "曾经编辑的 344 345 ================================= 346 会话语法 347 视图语法 348 模式行 349 350 ================================= 351 整行补全 CTRL-X CTRL-L 352 根据当前文件里关键字补全 CTRL-X CTRL-N 353 根据字典补全 CTRL-X CTRL-K 354 根据同义词字典补全 CTRL-X CTRL-T 355 根据头文件内关键字补全 CTRL-X CTRL-I 356 根据标签补全 CTRL-X CTRL-] 357 补全文件名 CTRL-X CTRL-F 358 补全宏定义 CTRL-X CTRL-D 359 补全vim命令 CTRL-X CTRL-V 360 用户自定义补全方式 CTRL-X CTRL-U 361 拼写建议 CTRL-X CTRL-S 362 智能补全 CTRL-X CTRL-O 363 ctrl-n ctrl-p 364 365 ctrl-a "将上次在插入模式下输入的文本再次输入一次 366 ctrl-@ "将上次在插入模式下输入的文本再次输入一次 并且返回到普通模式 367 ctrl-y "复制文本(根据上一行文本) 368 ctrl-e "复制文本(根据下一行文本) 369 ================================= 370 :%!xxd "二进制阅读 371 :%!xxd -r "返回正常十进制 372 ================================= 373 374 $VIMRUNTIME/syntax/* "有效的文件类型 375 $VIMRUNTIME/color/* "色彩方案 376 $VIMRUNTIME/macros "全局插件 377 $VIMRUNTIME/ftplugin "文件类型插件
转载于:https://www.cnblogs.com/HeXHunter/archive/2012/09/08/2676615.html