zoukankan      html  css  js  c++  java
  • Linux笔记:vim使用

    Vim在Linux中是一个简单却又强大的文本编辑器,可以用来创建、编辑和查看一个文本。本文只是简单介绍下,更多用法还得个人多使用练习才行。


    Vim通常分为三种模式:
    命令模式:刚打开Vim时就默认进入命令模式,此时所有的键盘敲击都会被识别为命令而不是字符输入,而编辑器则处于等待用户输入命令的状态。
    输入模式:即插入模式,通常使用此模式来编辑文本,当按下Esc键时自动退出输入模式,并进入命令模式。
    底线命令模式:在命令模式中输入冒号:就可以进入底线命令模式了,输入命令后回车即可执行对应的命令并退出底线命令模式,当按下Esc键时也会自动退出底线命令模式,并进入命令模式。

    命令模式中常用的命令有:

    • a/A:a表示在光标所在字符后插入,A表示在光标所在行尾插入,此时进入输入模式。
    • i/I:i表示在光标所在字符前插入,I表示在光标所在行首插入,此时进入输入模式。
    • o/O:o表示在光标所在行下插入新行,O表示在光标所在行上插入新行,此时进入输入模式。
    • gg:定位到第一行。
    • G:定位到最后一行。
    • [n]G:表示定位到第n行,如先按下数字88(并不会在屏幕上显示出来你的按键),再按下G就会跳转到第88行,效果同底线命令模式的命令“:88”。
    • $:光标移动至行尾。
    • 0:光标移动至行首。
    • x:删除光标所在处的字符。
    • [n]x:删除光标所在处后的n个字符。
    • dd:删除(剪切)光标所在行。
    • [n]dd:删除(剪切)光标所在行及之后的共n行。
    • dG:删除光标所在行到文件末尾的所有内容。
    • D:删除光标所在处到文件末尾。
    • yy:复制当前行。
    • [n]yy:复制当前行及以下n行。
    • p/P:粘贴在光标所在行的下面或上面。
    • r:替代光标所在处的字符。
    • R:进入替换状态,从光标所在处开始替换字符,按Esc结束。
    • u:取消上一步操作。
    • /[string]:搜索指定的字符串,然后回车,按n可以查看下一个搜索结果。但默认是区分大小写的,想要不区分大小写,需要执行一个底线命令模式的命令“:set ic”,反之,又想区分大小写了,执行“:set noic”。
    • ZZ:快捷键,保存修改并退出。

    底线命令模式中常用的命令有(省略了冒号:):

    • set nu:设置行号。
    • set nonu:取消行号。
    • [n]:定位到第n行,如“:50”表示定位到50行。
    • [n1],[n2]d:删除n1到n2行的所有内容。
    • set [ic/noic]:不区分大小写和区分大小写。
    • %s/[old]/[new]/[g/c]:在全文中将old字符串替换为指定的new字符串,g表示执行时不询问,c表示执行时询问。
    • [n1],[n2]s/[old]/[new]/[g/c]:在指定范围n1到n2行之间将old字符串替换为指定的new字符串,g表示执行时不询问,c表示执行时询问。
    • w:保存修改。
    • w newfilename:另存为指定文件。
    • wq:保存修改并退出。
    • q!:不保存修改并退出。
    • wq!:保存修改并退出(文件所有者和root可使用),当修改了权限为只读的文件时,只使用:wq是不能保存的,这时候可以使用:wq!强行保存修改。

    Vim更多技巧

    最前面的冒号表示底线命令模式:

    • :r [filename]:将其他文件的内容从光标所在处导入到本文件中。
    • :![命令]:在不退出Vim的情况下执行命令。
    • :r ![命令]:将一个命令的执行结果导入从光标所在处导入到本文件中。
    • :[n1],[n2]s/^/#/g:连续多行注释(即将所有行的行首都替换为#,^表示行首,其他语言的注释同理替换即可)。
    • :[n1],[n2]s/^#//g:取消多行的行首注释(即将所有行的行首的#替换为空字符,^表示行首,其他语言的注释同理替换即可)。
  • 相关阅读:
    Python中append和extend的区别
    python学习 day19
    python学习 day18
    QT下编写使用for循环动态添加刻选择时间类型的按钮(记录一下)
    QT mingw编译器下使用snap7库与西门子200smart-PLC(网口)通信实现代码
    看着挺胖的大胖猫
    QT添加软键盘后,QDialog设置模态后软键盘没响应解决办法
    QT程序打包在别的电脑上运行提示“api-ms-win-crt-runtime-|1-1-0.dll"可能与您正在运行的Window版本不兼容。。。。。
    Qt使用WM_COPYDATA消息进行进程通信
    离线百度地图,QT添加按钮点击切换卫星地图和街道地图
  • 原文地址:https://www.cnblogs.com/guyuyun/p/12695295.html
Copyright © 2011-2022 走看看