linux基础学习 -- 文本文件的编辑 vi命令

版权声明:一起学习,一起进步,一起coding https://blog.csdn.net/sunshine2285/article/details/86838525

vi的用户偏好设置

  • 可找到vi的配置文件在配置文件中修改(ubuntu在/etc/vim/vimrc)也可以直接在vi命令模式中直接修改
  • viset number    每行左边显示行号
  • set tabstop=4    制表符位置为4格对齐
  • :set    检查当前偏好设置

vi的两种工作状态

  • 命令模式 <---> 文本模式
  • 命令模式按i,a等进入文本状态
  • 文本状态按' ' : '' 进入命令状态

命令状态常用命令

  • i     --insert,在当前字符之前插入       
  • a    --append,在当前字符之后插入
  • 单字符移动  k j h l  上下左右  光标移动
  • 5h 6j 23k 表示先那个方向移动几行/列
  • Ctrl+b  Ctrl+f  表示向后向前翻页
  • ^ $  将光标快速移动到行首或者行尾
  • w b 5w 6b 向右/左移动几个单词
  • :n  将光标移动到指定行 
    :1  将光标定位到文件第一行
    :$  将光标定位到文件末尾 (.)圆点代表当前行
  • %  将光标移动到配对的下一个括号上

vi常用编辑命令

  • vi常用编辑命令删除当前字符 -x
  • 删除当前行 -dd 
    删除n行 -ndd
  • 替换光标字符 -r 
    -ra  -rarbrc 分别表示替换一个字符为a  连续替换三个字符为abc
  • 取消上次编辑操作 -u
  • 重复上次编辑操作 -.
  • 存盘退出 -ZZ    -:wq
  • 存盘不退出 -:w
  • 不存盘退出 -:q!
  • 读入文件xyz.c插入到当前行之下    -:r xyz.c
  • vi常用编辑命令写文件,把第50行至文件尾的内容写到文件file1中    -:50,$w fille1   -:50,$w! file1强制覆盖
  • 删除,并拷贝到剪贴板
    -:10,50d    删除第10-50行
    -:1,.d         删除文件首至当前行的部分
    -:.,$d         删除当前行到文件尾
  • 不删除,拷贝到剪贴板
    -:10,50y     yank
  • 粘贴剪贴板信息  -p
  • 块操作
    -:5,10co56    复制第5-10行到第56行之下
    -:8,34m78     移动第8-34行到第78行之下
  • 两行合并   -J
  • 刷新屏幕   Ctrl+L
  • 状态显示   Ctrl+G
  • 模式查找,使用正则表达式【/pattern  /[0-9][0-9]*】,n向下查找,N向上查找,循环式搜索 
  • 替换命令   n1,n2s/abc/xyz/g  [不加g表示一行只替换一次]
  • 流量控制/解除 Ctrl+s/Ctrl+q 

意外挂起进程解决办法:

  • 在linux中可以使用Ctrl+z将一个进程suspend
  • 挂起之后可通过jobs查看,使用%1 / fg %1将编号为1的进程运行到前台

猜你喜欢

转载自blog.csdn.net/sunshine2285/article/details/86838525