vim笔记

一、一个简单的vim配置——vimrc

编辑 ~/.vimrc,插入如下代码

syntax on
set nu
set hlsearch
set cindent

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936

set tabstop=4
set shiftwidth=4
set expandtab
set nowrap
set foldenable
set foldmethod=syntax
set t_ti= t_te=
if &diff
    colorscheme evening
endif
"下面的代码能使得在vim中直接能对json文本内容进行格式自动转换,直接输入JsonFormat命令即可
command! JsonFormat :execute '%!python2 -m json.tool' | :execute '%!python2 -c "import re,sys;sys.stdout.write(re.sub(r\"\\\u[0-9a-f]{4}\", lambda m:m.group().decode(\"unicode_escape\").encode(\"utf-8\"), sys.stdin.read()))"'

二、vim中如何非贪婪匹配

例如对于下面一段文本:

<p style="text-align:left;"><span >为维护良好生态环境,保障公平,规范合作和良性竞争,大家之间的合理业务操作,本规范。</span></p>

如果想仅仅替换<>中的内容,并保留中文字,那么可以这么操作

:%s/<.\{-}>//gc

三、在vim中使得python代码折叠的方法


1.下载Python代码折叠vim插件python_fold.vim,下载地址:https://www.vim.org/scripts/download_script.php?src_id=4431

2.mkdir ~/.vim/plugin/

3.mv python_fold.vim ~/.vim/plugin/

即可

四、如何在vim中对内容进行json格式化展现

在.vimrc中加入以下语句

command! JsonFormat :execute '%!python -m json.tool'

然后在vi打开一个文文件后,执行:JsonFormat
可以把该文件的展现内容转换为json格式,类似于jq命令

但是会发现,中文被转换成了Unicode编码。如果想彻底解决这个问题,就得再修改下.vimrc,改为如下代码:

command! JsonFormat :execute '%!python2 -m json.tool'
\ | :execute '%!python2 -c "import re,sys;sys.stdout.write(re.sub(r\"\\\u[0-9a-f]{4}\", lambda m:m.group().decode(\"unicode_escape\").encode(\"utf-8\"), sys.stdin.read()))"'

即可
注意上面写的python2,以防止很多人的linux环境里已经安装了python3

五、vim打开多个窗口后,感觉某个窗口太小,怎么调整

一、横向调整

vim中输入

vertical res +20

或者

vertical resize +20

意思是当前窗口横向增加20个字符宽度

一、纵向调整

vim中输入

res +20

或者

resize +20

意思是当前窗口纵向增加20个字符宽度

五、VIM在粘贴代码时会自动缩进,把代码搞得一团糟糕
VIM在粘贴代码时会自动缩进,把代码搞得一团糟糕,甚至可能因为某行的一个注释造成后面的代码全部被注释掉,其实只要在黏贴前执行下面的操作即可:

set paste

六、vimdiff的时候看不清文字怎么办

在~/.vimrc中加入下面的代码即可:

if &diff
    colorscheme evening
endif

​# 六、如何让vim再次打开刚才关闭的文件时定位到刚才关闭文件的位置
Vim的全局配置/etc/vim/vimrc,里面有被注释的这么几行:

" Uncomment the following to have Vim jump to the last position when
" reopening a file
"if has("autocmd")
"  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
"endif

将注释去掉即可

七、vim如何设置折叠

先在~/.vimrc中加入如下两行就可以用啦:

set foldenable
set foldmethod=syntax

然后常用的命令如下:

za 打开/关闭当前的折叠
zc 关闭当前打开的折叠
zo 打开当前的折叠
zm 关闭所有折叠

  • 参考文献
  1. https://www.cnblogs.com/joeblackzqq/p/10521189.html
  2. https://www.jianshu.com/p/91c2d7a54eb7
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值