当前位置:   article > 正文

vim 的常用配置及快捷键_vim 括号匹配快捷键

vim 括号匹配快捷键

vimrc 配置

整理一下自己经常用到的一些设置,要保存在 .vimrc 中
具体有
1)从其他地方复制造成的问题
2)tab 转4个空格
3)记住上次打开的位置
4)F5直接运行各种脚本

filetype plugin indent on
syntax on
" colorscheme desert

" 很早以前记下的,应该是把tab转为空格,可能还有解决复制错行的问题
set nocompatible
set backspace=indent,eol,start
set autoindent
set softtabstop=4
set shiftwidth=4
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
if &term=="xterm"
    set t_Co=8
             set t_Sb=^[[4%dm
    set t_Sf=^[[3%dm
endif
" 开启行号显示
set nu
" 解决打开文件乱码? (很早之前记的)
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
set pastetoggle=<F9>
" 
" 打开记住上次打开的位置
set viminfo='10,\"100,:20,%,n~/.viminfo 
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif

:set ts=4
:set expandtab
:%retab!

" 最近经常用到的,非常好用的编译运行功能
" 原文:https://blog.csdn.net/zijin0802034/article/details/77709465
map <silent>  <F5> :call CompileRunGcc()<CR>

func! CompileRunGcc()
    exec "w" 
    if &filetype == 'c' 
        exec '!g++ % -o %<'
        exec '!./%<'
    elseif &filetype == 'cpp'
        exec '!g++ % -o %<'
        exec '!./%<'
    elseif &filetype == 'ruby'
        exec '!ruby %'
    elseif &filetype == 'python'
        exec '!python %'
    elseif &filetype == 'sh'
        :! bash %
    endif
endfunc

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51

vim 操作快捷键

主要记一些容易忘记的

编辑类

J 删除换行,使下一行上来

A 进入行尾编辑,$ 这种的仅仅是定位到最后一个字符
I 行首编辑。 注意一般用的是 i 字符左侧编辑,a 字符右侧编辑

:[range]copy {address} 直接命令行复制,如 5, 8 copy/move 10

括号匹配

% 查到匹配括号
下面可参考
vi / yi / di 分别选中、复制、删除括号中的内容。 只要在内部就行
将i换成a 可以包括括号本身。
注意使用时类似 vi"/ vi’ / vi(

查看类

zz 将本行定在屏幕中,类似有 zt, zb
f / F 行内快速定位

ctrl+b/f 前后翻页
ctrl+d/u 前后半页
ctrl+p/n 前后一行,注意ctrl+n在编辑模式下是非常有用的补全命令
ctrl+e/y 前后一行,但是光标不动

https://www.cnblogs.com/lxwphp/p/7738351.html
w / b /e 单词级别移动
回车/ 空格/ 回退 命令模式下移动

切换命令模式

ctrl+o 只能切换一次
ctrl+[ 可以代替 Esc
此外还有 比较危险的 ctrl+c

命令模式

ctrl+r 0 vim 中复制的可以送上来
% 12,. 12,$ 12, 22 代表range位置索引,可用于 替换 s, copy 等
r ! cat file.txt 可直接读入命令结果,很好用

实用案例

复制word 搜索

v1:

  1. yaw 复制文字
  2. 进入命令模式
  3. /
  4. C+r 0 读取寄存器值

v2:
* 可以直接搜索该词

v3: [全选word]
bve 单词最开头选中结尾

vim 插件

其实主要是 Vundle

安装vim 8

home="xxx"
./configure  --prefix="$home/bin/" --with-features=huge \
    --enable-multibyte \
    --enable-rubyinterp=dynamic \
    --with-ruby-command="$home/bin/bin/ruby" \
    --enable-pythoninterp=no \
    --enable-python3interp=yes \
    --with-python3-config-dir="$home/bin/anaconda3/lib/python3.8/config-3.8-x86_64-linux-gnu/" \
    --enable-cscope \
    --enable-gui=auto \
    --enable-gtk2-check \
    --enable-fontset \
    --enable-largefile \
    --disable-netbeans \
    --enable-fail-if-missing

make -j8 && make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

vim 命令行

vim 支持从脚本加载命令比如

 vim vs_sky.hlsl -s cmd.vim
  • 1

cmd.vim

ggvG=:wq
  • 1

通过 :help -s 可以看到其实是执行了 :source! file

正则替换

%s#Item(\(\S\+\))#\1#g 展示了如何匹配与替换,注意\1代表了匹配的内容
13,$s#get_HOMEDIR()#_REL_HOMEDIR#g 从某行开始把字符串替换,注意括号是字符串的一部分

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/216668
推荐阅读
相关标签
  

闽ICP备14008679号