0%

用到的vim

  有个同事用vi溜到飞起,看着心里好痒,我也要开始用vi了( ̄︶ ̄)↗,每天学一点儿,多用点儿,熟悉熟悉。
  原来vim script也是门语言,学习它不是想用来自己写什么,只求能看懂别人的配置,自己稍微修改些。这个教程挺好的
  前导符号很重要:

1
2
let mapleader=','
let g:mapleader=','

  多看看help,有中文的,附带有安装说明,还是很容易的。
  用的是人家的版本,自己做了些调整

常用的插件及快捷键:
1
2
3
4
5
6
7
8
9
10
11
12
13
<leader>ev: 编辑当前vimrc
<leader>sv: 保存当前vimrc
jk: 退出插入模式,不用[esc]
<leader>w: 快速保存
<leader>q: 快速退出
<leader>l: 打开文档大纲
<leader>/: 关闭搜索后高亮
<leader>n: 打开工程目录
<leader>p: 打开文件模糊搜索。<c-j/k>: 上下移动; <c-v/s>: 水平/垂直打开文件
<leader>f: 打开最近打开文件模糊搜索
<leader>fu: 打开函数模糊搜索
<c-w>T: 将当前窗口在新tab中打开
<c-t>: 映射成上一个动作了

vimrc

autoreload vimrc with shortcut

1
2
3
4
5
" autoreload vimrc once edited
" edit vimrc configuration file
nnoremap <Leader>ve :e $MYVIMRC<CR>
" reload vimrc configuration file
nnoremap <Leader>vr :source $MYVIMRC<CR>

replace

  • 将当前行第一个a替换为b
    :s/a/b/

  • 将当前行的所有a替换为b
    :s/a/b/g

  • 将每行第一个a替换为b
    :%s/a/b

  • 将整个文件的所有a替换为b
    :%s/a/b/g

  • 将1至3行的第一个a替换为b
    :1,3s/a/b/

  • 将1至3行的所有a替换为b
    :1,3s/a/b/g

  • 使用#作为分隔符,此时中间出现的/不会作为分隔符,如:将当前行的字符串”a/“替换为”b/“
    :s#a/#b/#

  • 找到包含字母a的行并删除
    :g/a/d

  • 删除所有空行
    :g/^$/d

  • 多个空格替换为一个空格
    :s/ +/ /g

  • 设置缩进
    :set tabstop=4 shiftwidth=4

  • 输入tab转space
    :set expandtab

  • 已有tab转space
    :%retab!

special character

1
2
3
set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
set list
set nolist

文件格式

  • win: CRLF
  • mac: CR
  • linux: LF

查看文件格式

1
:set fileformat

设置文件格式,unix做第一选择, dos做第二选择

1
:set fileformats=unix,dos