加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

vim的基本使用

发布时间:2020-12-15 18:17:40 所属栏目:安全 来源:网络整理
导读:1.vim的三种工作模式(vim是vi的增强版本)??? 命令模式??????? 按ESC键后就会进入命令模式,命令模式下的常用操作有复制/黏贴/删除/撤销等....??? 编辑模式??????? 在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、?????????

1.vim的三种工作模式(vim是vi的增强版本)??? 命令模式??????? 按ESC键后就会进入命令模式,命令模式下的常用操作有复制/黏贴/删除/撤销等....??? 编辑模式??????? 在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、??????????? 修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式??? 末行模式??????? 在命令模式下按 : 即可进入末行模式?????? ?2.命令模式下的相关操作??? 2.1 保存退出:shift + zz? //但是空文件不会保存??? 2.2 代码的格式对齐:gg=G??? 2.3 光标的移动:??????? 上下左右按键??????? hjkl:左下上右??????? 行首行尾:0 和 $(shift+4)??????? 文件首尾:gg 和 G??????? 到指定行:行号+G??????? 从当前行往后跳n行:n+enter??????? 向后跳转一个单词:w??????? 到下一行行首:enter??? 2.4 删除??????? 删除一个字符:x??????? 删除一个单词:dw??????????? 如果此时光标在单词的中间则只会删除单词的一部分??????? 删除前半行:d0??????? 删除后半行:d$(shift+4)?? 或者 D(shift+d)??????? 删除整行:dd??????? 删除n行:ndd??????? 删除整篇文章:先将光标移动到最后一行? 然后dgg??? 2.5 撤销和反撤销??????? 撤销:u??????? 反撤销:ctrl + r?? ???? 2.6 复制??????? 复制一行:yy??????? 复制n行:nyy??? 2.7 粘贴??????? 粘贴到当前光标的下一行:p??????? 粘贴到当前光标的上一行:P(shift+p)??? 2.8 替换??????? 替换单个字符:r??????? 替换n个字符:R? //ESC键退出替换??? 2.9 查找:??????? 方法一:先按/(逆时针查找) 然后输入要查找的内容,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处??????? 方法二:先按?(顺时针查找) 然后输入要查找的内容,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处??????? 方法三:将光标移动到你要查找的单词上,然后按#(shift+3) 即可查找,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处??? 2.10 查找函数的用法(如同vs下的 f12)??????? 将光标移动到你要查找的函数名上,然后按:章节号+K(shift+k),q键退出,在按enter键回到代码中3.可视模式下的操作:在命令模式下按 v 即可进入可视模式,再按一次退出可视模式??? 3.1 选中任意文本:??? 通过上下左右键或hjkl来选中文本??? 3.2 复制:y (一个y就够了,复制的就是3.1的结果)??? 3.3 删除和剪切:d(一个d就够了,删除的就是3.1的结果)??? 3.4 粘贴:这里的粘贴是在光标所在位置的前后不是光标所在行的上下??????? 在光标位置之后粘贴:p??????? 在光标位置之前粘贴:P(shift+p)4.编辑模式:??? a:光标后面插入??? i:??? o:打开新的一行??? s:5.末行模式:在命令模式下按::??? 5.1 保存退出:wq 或 x? + enter??? 5.2 行跳转:n + enter?? ???? 5.3 末行模式跳转到命令模式:两次ESC??? 5.4 替换:??????? 替换光标所在行的第一个:s/old/new??????? 替换光标所在行的所有:s/old/new/g??????? 一个一个的替换,没替换一个就要询问一次:s/old/new/gc??????? 替换指定多行的:n1,n2s/old/new/g ??????? 替换指定多行并询问:n1,n2s/old/new/gc??????? 替换所有:%s/old/new/g?? ???????? 替换所有并询问:%s/old/new/gc?? ???? 5.5 分屏:??????? 水平分屏:sp??????? 垂直分屏:vsp??????? 分屏两个不同的文件:sp/vsp 文件名??????? 屏幕切换:ctrl + ww??????? 退出分屏:??????????? q:退出当前??????????? qall:退出多有??????????? wq/wqall??? 5.5 末行模式下执行shell命令:!命令6.vim同时打开多个文件??? vim -o 文件1 文件2 文件3?? //垂直分屏??? vim -O 文件1 文件2 文件3?? //水平分屏 ?? ?7.vim配置文件??? 7.1 用户级别(优先级高)??????? ~./vimrc? //可能没有??? 7.2 系统级别(优先级低)??????? /etc/vimrc??? 7.3 vim配置??????? set nocompatible ???????? set number??????? set autoindent??????? set smartindent??????? set showmatch??????? set ruler??????? set incsearch??????? set tabstop=4??????? set shiftwidth=4??????? set softtabstop=4??????? set cindent??????? set nobackup??????? set clipboard+=unnamed?????? ???????? #自动补全??????? inoremap ‘ ‘‘<ESC>i??????? inoremap " ""<ESC>i??????? inoremap ( ()<ESC>i??????? inoremap [ []<ESC>i??????? inoremap { {<CR>}<ESC>O?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ????

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读