Vim文本编辑器

vim 文本编辑器:

可以在终端采用纯键盘操作的一款文本编辑器,号称编辑器之神

可以安装扩展(安装插件)

基本用法:

进入 vim: vim file.c 文件存在则打开,不存在则新建并打开

输入 i 进入编辑模式,编写代码

输入 **Esc ** 退出编辑模式,输入 ZZ 保存退出

vim的三大模式:

  • 正常模式:打开文件时默认就是正常模式,一般用于阅读文件,或者使用快捷键对文件进行快速操作

  • 编辑模式:一般用于编辑文件、编写代码

  • 行底模式:用于对vim进行一些高级操作、对vim的设置

模式之间的切换:

正常 输入i ——> 编辑

编辑 按Esc ——-> 正常

正常 输入: ——> 行底

行底 按Esc ——> 正常

正常模式的常用操作:

光标移动:

H J K L 左下上右

gg 光标跳转到文件开头

G 光标跳转到文件末尾

n+回车 往下跳转n行

n+减号 往上跳转n行

n+G 直接跳转到第n行

vim file.c+n 打开后直接跳转到第n行

删除代码:

dd 删除一行代码

n+dd 删除光标下面n行代码

d+G 从光标处删除到文件末尾

d+gg 从光标处删除到文件开头

d+$ 从光标处删除到行尾

d+^ 从光标处删除到行首

x 删除一个字符

nx 删除n个字符

dw/de 从光标处连续删除字符直到遇到空格停止

复制代码操作:

yy 复制当前一行代码

nyy 复制当前n行代码

p 粘贴到当前光标下一行

P 粘贴到当前光标的上一行

移动代码操作:

删除的内容依然存在粘贴板中,通过p可以实现移动代码的效果

xp 可以快速交换两个字符

替换代码操作:

r 替换一个字符

cw 替换一个单词

R 进入替换模式

撤销操作:

u 撤销上一步操作

Ctrl+r 取消撤销操作

进入插入模式的操作:

i 在当前光标的前面进入插入模式

I 在当前行的行首进入插入模式

a 在当前光标的后面进入插入模式

A 在当前行的行尾进入插入模式

o 在当前行的下一行插入一行空白行并进入插入模式

O 在当前行的上一行插入一行空白行并进入插入模式

编辑模式的操作:

Ctrl+j/m 相当于回车

Ctrl+c 相当于Esc

自定义快捷键:

Ctrl+z 保存退出

Ctrl+x 保存,并编译运行代码

Ctrl+p 自动补全头文件、main函数

jj 相当于Esc

行底模式的常用操作:

:q 退出

:w 保存

:wq 保存退出

:q! 强制退出

:x 保存退出

:X 加密,输入两次密码,然后输入:wq才生效

:set key = 空格 删除密码

:!cmd 执行系统命令

:set nu 设置显示行号

:set nonu 设置取消显示行号

:/key 查询关键词key n往下找,N往上找

:%s/old/new 把所有关键字old,替换为new关键字

:< n行代码向左缩进一次

:> n行代码向右缩进一次

注意:行底模式的所有设置都只在当前vim生效,如果想要一直有效,需要修改vim的配置文件(~/.vimrc)

设置vim配置文件:

  1. gedit ~/.vimrc 或者 vim ~/.vimrc

  2. "设置行号
    
    set number
    
    
    "设置Tab键的宽度
    
    set tabstop=4
    
    
    "自动缩进
    
    set autoindent
    
    
    "设置自动缩进的宽度
    
    set shiftwidth=4
    
    
    "智能缩进
    
    set smartindent
    
    
    "设置不生成临时文件
    
    set noswapfile
    
    
    "设置不备份
    
    set nobackup
    
    
    "设置插入模式下快速返回正常模式
    
    imap jj <ESC>
    
    
    "定义保存并退出函数
    
    func! SaveExit()
    
    	exec "wq"
    
    endfunc
    
    
    "映射ctrl+z键调用保存并退出函数
    
    map <C-z> : call SaveExit()<CR>
    
    imap <C-z> <ESC>: call SaveExit()<CR>
    
    vmap <C-z> <ESC> : call SaveExit()<CR>
    
    
    "定义自动保存并编译执行代码函数
    
    func! ComplieCode()
    
    	exec "w"
    
    	if &filetype == "c"
    
    		exec "!gcc % -lm -pthread && ./a.out"
    
    	elself &filetype =="cpp"
    
    		exec "!g++ -std=c++0x % -lm -pthread && ./a.out"
    
    	endif
    
    endfunc
    
    
    "映射ctrl+x键调用编译执行函数
    
    map <C-x> : call ComplieCode()<CR>
    
    imap <C-x> <ESC> : call ComplieCode()<CR>
    
    vmap <C-x> <ESC> : call ComplieCode()<CR>
    
    
    "定义自动补全头文件和main函数
    
    func! InsertMain()
    
    	if &filetype =="c"
    
    		call setline(1,"#include <stdio.h>")
    
    		call setline(2,"")
    
    		call setline(3,"int main(int argc,const char* argv[])")
    
    		call setline(4,"{")
    
    		call setline(5,"")
    
    		call setline(6,"}")
    
    		exec "5"
    
    	endif
    
    endfunc
    
    
    "映射正常模式下ctrl+p
    
    map <C-p> : call InsertMain()<CR>i<TAB>
    
    
    
  3. vim:ZZ保存 或者 gedit 保存按钮

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值