vim编辑方式/vimrc自动加载文件头等操作记录

1. viminfo

在vim中操作的行为,vim会自动记录下来,保存在 ~/.viminfo 文件中。
这样为了方便下次处理,
如:vim打开文件时,光标会自动在上次离开的位置显示。
原来搜索过的字符串,新打开文件时自动高亮显示。

2. vimrc

vimrc文件是vim的环境设置文件。
整体的vim的设置是在 /etc/vimrc 文件中。
不建议修改/etc/vimrc 文件,每个用户可以在用户根目录中设置vim,新建 ~/.vimrc.
vim的配置选项较多,可参考如下

#设置中文字符集
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8

#显示行号
set nu

#如果文件类型为.sh文件自动插入文件头
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
    if expand("%:e") == 'sh'
    call setline(1, "#########################################################################")
    call append(line("."), "# File Name: ".expand("%"))
    call append(line(".")+1, "# Author: test")
    call append(line(".")+2, "# mail: test@163.com")
    call append(line(".")+3, "# Created Time: ".strftime("%c"))
    call append(line(".")+4, "#########################################################################")
    call append(line(".")+5, "#!/bin/bash")
    call append(line(".")+6, "")
    endif
endfunc

#启用鼠标
set mouse=a
set selection=exclusive
set selectmode=mouse,key

#显示括号匹配
set showmatch

#设置缩进
'设置Tab长度为4空格'
set tabstop=4
'设置自动缩进长度为4空格'
set shiftwidth=4
'继承前一行的缩进方式,适用于多行注释'
set autoindent

#设置粘贴模式
set paste

#显示空格和tab键在Vim中通过鼠标右键粘贴时会在行首多出许多缩进和空格,通过set paste可以在插入模式下粘贴内容时不会有任何格式变形、胡乱缩进等问题。
set listchars=tab:>-,trail:-

#让vimrc配置变更立即生效
autocmd BufWritePost $MYVIMRC source $MYVIMRC

3. vim编辑方式

//编辑
i		#在当前光标位置前插入代码
I		#在当前行行首插入
a		#在当前光标位置后插入代码
A		#在当前行行尾插入
o		#在当前行后新插入一行
O		#在当前行前新插入一行

//移动
h		#左移,5h左移五个代码
l		#右移
k		#上移
j		#下移
^		#移动到第一个非空白代码上
$		#移动到行尾,3$移动到下面3行的行尾
0		#移动到本行第一个代码上
gg		#移动到文件第一行
G		#移动到文件最后一行,10G移动到第十行
ctrl+e	#向下滚动一行
ctrl+y	#向上滚动一行
ctrl+d	#向下滚动半屏
ctrl+u	#向上滚动半屏
ctrl+f	#向下滚动一瓶
ctrl+b	#向上滚动一瓶

//删除
dd 		#删除当前行
10d 	#删除从当前行开始计算的后10行
D 		#删除当前字符至本行行尾
kdgg 	#删除当前行之前所有行(不包括当前行)
jdG  	#删除当前行之后所有行(不包括当前行)
1,10d 	#删除1-10行
10,$d 	#删除10行及以后所有的行
1,$d 	#删除所有行

//退出
wq		#保存退出
ZZ		#同上
q!		#不保存退出
e!		#不保存退出并打开原文件

//其他
set nu		#显示行号
/test		#正向查找文档内的test代码,n查看下一个,N查看前一个
?test		#反向查找,同上
set paste 	#拷贝前输入:set paste,vim就不会启动自动缩进,而只是纯拷贝粘贴
set nopaste	#拷贝完成之后,输入:set nopaste (关闭paste)
set list	#用$显示行尾位置,通常来判断行尾是否有空格
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值