vim/nano使用总结

vim

信息汇总

  • vim插件介绍
  • vim训练游戏
  • 记录操作的文件:~/.viminfol;
  • 设置配置文件:~/.vimrc(如果没有就在当前用户home目录下创建)

ubuntu设置vim

文件:etc/vim/vimrc

  • set all:查阅目前vim的设置
  • set nu/nonu:设置与取消行号
  • set hlsearch/nohlsearch:设置与取消高亮度查询,默认是高亮度查询
  • set autoindent/noautoindent:是否自动缩排
  • set tabstop=4:缩进4个空格
  • set showmode:在下面状态栏显示诸如 --INSERT–之类的字眼
  • syntax on/off:是否依据程序语法显示不同颜色
  • set bg=dark/light:可以显示不同的颜色,默认是light
  • set ruler:可显示最后一行的状态
  • 命令模式下取消高亮(一般是搜索带来的高亮),输入: nohlsearch 也可以:set nohlsearch; 当然,可以简写,noh或者set noh。

一般模式下

  • . : 重复上次的修改
  • *:查找当前光标所在的单词
  • u:撤销所做的修改
  • ctrl+r:反撤销
  • b:移动到单词开头
  • x:删除当前光标下的字符
  • :e: 重新加载该文档
  • zz:当前行如果处于窗口底部时,可以把当前行显示在窗口正中
  • ga:光标所在字符的编码
  • Ctrl+a/Ctrl+x:对光标下的数字执行加减,在不带次数时逐个加减,如果带一个次数前缀就可以任意加减,如:10+Ctrl+a;如果当前光标下不是数字,会向前查找一个数字,并进行加减
  • r filename:在一个文件的一般模式中,将filename文件的内容读入到该文件光标所在行的后面
  • 块选择
    • v:字符选择,光标经过的地方反白
    • V:行选择:光标经过的行反白
    • ctrl+v:区块选择
    • y:将选白的方法复制
    • d:将选白的地方删除
    • p:粘贴到光标所在的位置
  • 移动光标:
    • 0/home:跳到行首
    • $/end:跳到行尾
    • Ctrl+f:向下移动一页
    • Ctrl+d:向下移动半页
    • Ctrl+b:向上移动一页
    • Ctrl+u:向上移动半页
    • n [空格]:该行向右移动n个字符
    • G:移到这个文件的最后一行
    • nG:移到文件的第n行
    • gg:移到文件的第一行
    • n [Enter]:光标向下移动n行
  • 大小写变换:
    • g~:反转大小写
    • gu:转换为小写
    • gU:转换为大写
  • 操作符+动作命令=操作:
    • yy:复制光标所在的一行
    • nyy:复制光标所在的向下n行
    • p/P:p为粘贴在光标所在的下一行;P为粘贴在光标所在的上一行
    • gc+动作:切换指定行的动作状态
    • c+动作:
      • cw: 删除当前光标所在的单词并进入插入模式
      • cc:删除当前光标所在行并进入插入模式
    • d+动作:
      • dl:删除一个字符
      • dd:剪切光标所在的一行
      • db:删除从光标开始位置到单词开头,但不会删除光标所在的字符,是反向删除的命令
      • dw:删除从光标所在位置开始的整个单词,如果这个单词和下一个单词之间有空格,会删除所有中间的空格;删除多个单词可以使用xdw或dxw,x为数字
      • daw:删除整个单词与dw不同的是,光标不管在单词的什么位置都能够删除,也会删除与下一个单词之间的所有空格(delete a word);
      • d$:删除从光标开始到行尾连同光标
  • s:删除光标下的字符并进入插入模式
  • f
    • f+{x}:移动到这一行下一个x的位置
    • F+{x}:移动到这一行上一个x的位置
  • ;:下一个x的位置,“,”:上一个x的位置
  • 查找:
    • /word:向下查找一个字符或字符串,n向下继续寻找; “\>” 是一个特殊的记号,表示只匹配单词末尾。类似地,“\<” 只匹配单词的开头。这样,要匹配一个完整的单词 “the”,只需:/<the>
    • ?word:向上查找一个字符或字符串
    • :1,$s/word1/word2/g:从第一行到最后一行查找字符串word1,并将该字符串用word2替换//这个指令好像不能用,使用:%s/word1/word2/g可以
    • n1,n2s/word1/word2/g:在第n1行到n2行之间查找word1并用Word2替换
  • 正则表达式查找:
  • 多行注释和取消注释:
    • 注释:按ctrl+v后j或k进行块选择,I(大写i)后输入注释符,esc退出后注释成功
    • 取消:ctrl+v,按l(右移动)选中要取消的列数(如"//"需选中两列),j/k选中行数,d取消注释
  • 其他未分类:
    • >G:增加从当前行到文档末尾的缩进
    • 替换:%s/word1/word2/g:将word1替换成word2
  • set命令:
    • :set hls:光标所在的单词高亮

插入模式

插入-普通模式:执行一次普通命令,执行完后马上返回到插入模式

  • 切换到插入模式:
    • i/I:i为当前光标处插入;I为当前行的第一个非空格处插入
    • o/O:o为在当前光标的下一行插入,O为在当前光标的上一行插入
    • a/A:a为从目前光标所在的下一个字符开始插入;A为从光标所在行的最后一个字符处插入
  • 返回普通模式:
    • Esc/Ctrl+[:切换到普通模式
    • Ctrl+o:切换到插入-普通模式
  • 删除操作:
    • Ctrl+h:删除前一个字符,同退格键
    • Ctrl+w:删除光标所在字符前的单词,不删除光标坐在字符
    • Ctrl+u:删除至行首,不删除光标所在字符
    • Ctrl+r{register}:粘贴,register是想要插入的寄存器
  • Ctrl+r=:访问表达式寄存器,可以随时随地做运算P31
  • Ctrl+v插入字符:
  • {code}:使用字符编码插入字符,code为字符编码,3位,
  • Unicode使用4位16进制输入,Ctrl+v+u+code;
  • 后跟一个非数字键,会插入按键本身代表的字符

一般模式到命令行模式

  • w:将编辑的数据写入硬盘
  • wq:写入后离开
  • ZZ:如果文件没有改动,则不保存后离开;如果文件有改动则保存后离开
  • r filename:将filename文件的内容读入到该文件光标所在行的后面
  • w filename:将编辑的数据保存成另一份文件(相当于文件另存为)

其他用到的总结

  • 注释多行:esc进入一般模式Ctrl+v块选择要注释的行大写I即在行首非空格处插入(这里会在行首插入)输入注释符//再esc退出(如果不esc只能注释一行),完成注释;取消注释用d替换//
  • 自动补全:
  • Ctrl+n/p:
  • 管理多文件:
    • vim * . *:打开多文件
    • :ls : 列出所有载入内存中的缓冲区的列表
    • :bprev / :bnext / :bfirst / :blast :反向或正向移动,调到列表的开头或结尾
    • :buffer N:直接跳转到第N个缓冲区
    • :bdelete N1 N2/ N,M bdelete:删除缓冲区
  • 创建分割窗口:
    • Ctrl+w,s:水平分割
    • Ctrl+w,v:垂直分割
    • :sp {filename}:水平分割并在分割的窗口打开filename文件
    • :vsp {filename}:垂直分割并在分割窗口打开filename文件
  • 在窗口之间切换:
    • Ctrl+w,w:在窗口之间循环切换
    • Ctrl+w,h:切换到左边的窗口
    • Ctrl+w,l:切换到右边的窗口
    • Ctrl+w,k:切换到上边的窗口
    • Ctrl+w,j:切换到下边的窗口
  • 关闭窗口:
    • clo/Ctrl+w,c:关闭活动窗口
    • on/Ctrl+w,o:只保留活动窗口,关闭其他所有窗口
  • 改变窗口大小和重新排列窗口:
    • Ctrl+w,=:使所有窗口等宽,登高
    • Ctrl+w,_:最大化活动窗口的高度
    • ctrl+w,|:最大换活动窗口的宽度
  • :f:查看文件名
  • e:刷新文件
  • 在文件间跳转:
    • Ctrl+o/Ctrl+i:在两个文件之间来回跳转
    • ( / ):跳转到上一句 / 下一句开头
    • { / }:跳转到上一段 / 下一段开头
    • H / M / L:跳到屏幕最上方/正中间/最下方
    • gf:跳到光标下的文件名
    • Ctrl+]:跳到光标下关键字的定义之处,但并没起效,提示缺少tag
  • 多文件编辑:
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值