Vi Usage
标签: linux 编辑工具
快捷键以及常用命令(前面带:
的是命令)
- h -> 左移一个字符
- j -> 下移一行
- k -> 上移一行
- l -> 右移一个字符
- w或Shift+→ -> 光标右移一个字到字首
- W -> 光标右移一个以空格分隔的词到词首
- b -> 光标左移一个字到字首
- B -> 光标左移一个以空格分隔的词到词首
- e -> 光标右移一个字到字尾
- E -> 光标右移一个以空格分隔的词到词尾
- ^ -> 光标移到行首
- \$ -> 光标移到行尾
- { -> 光标移到段落头
- } -> 光标移到段落尾
- Ctrl+d -> 下翻半屏
- Ctrl+u -> 上翻半屏
- Ctrl+f -> 下翻一屏
- Ctrl+b -> 上翻一屏
- G -> 移到缓冲区的最后一行
- num G -> 移到缓冲区第num行
- gg -> 移到缓冲区第一行
- w filename -> 把文件保存到另一个文件名下
------------ x -> 删除当前光标所在位置的字符
- dd -> 删除当前光标所在行
- dw -> 删除当前光标所在位置的单词
- d$ -> 删除当前光标所在位置至行尾的内容
- J -> 删除当前光标所在行行尾的换行符(拼接行)
- u -> 撤销前一编辑命令
- i -> 在光标的前一个位置插入文本
- I -> 在光标所在行行首插入文本
- a -> 在当前光标后最加数据
- A -> 在当前光标所在行行尾最加数据
- r char -> 用char替换当前光标所在位置的一个字符
- R text -> 用text覆盖当前光标所在位置的数据,直到按下ESC键
- o -> 在当前行之下新开一行
- O -> 在当前行之上新开一行
- cw -> 修改从光标所在位置开始的词
- cnw -> 修改从光标所在位置开始的n个词
- yw -> 复制光标所在位置后的词
- ynw -> 复制光标所在位置后的n个词
- y\$ -> 复制光标所在位置到行尾的内容
- yy -> 复制光标所在行
- nyy -> 复制光标所在行以及其后的n-1行
- tnyy -> 复制光标所在行以及其后的n-1行的数据存入buffer t
- p -> 把内容粘贴到光标后的位置
- P -> 把内容粘贴到光标前的位置
- tnp -> 将存在buffer t的n行数据粘贴
- :s/old/new -> 跳转到old第一次出现的地方,并用new替换
- :s/old/new/g -> 用new替换光标所在行的所有old
- :n,ms/old/new -> 用new替换第n到m行每行中第一次出现的old
- :n,ms/old/new/g -> 用new替换第n到m行的所有old
- :%s/old/new/g -> 替换整个文件中的old
- :%s/old/new/gc -> 替换整个文件中的old,但每次出现时提示
- /pattern -> 从光标开始处向文件尾搜索pattern
- ?pattern -> 从光标开始处向文件首搜索pattern
- n -> 在同一方向重复上一次搜索命令
- N -> 在反方向上重复上一次搜索命令
- . -> 执行上一次执行的命令
-------------- ZZ -> 保存并退出
- :w filename -> 写入到filename文件中
- :n,mw filename -> 把第n到m行写入到filename文件中
- :x -> 保存(如果文件被修改过的话)并退出
- :q! -> 不保存退出
- :q -> 退出,如果文件有修改,会有出错提示
- :wq -> 保存并退出
-------------- :number -> 显示行号光标所在行的行号
- :!command -> 执行shell命令command
- :r!command -> 把command命令的执行结果输出到当前行的下一行
有些编辑命令允许使用数字修饰符来指定重复改命令的次数,如
2x
会删除从光标位置开始的两个字符,命令5dd
会删除从光标当前所在行开始的5行。删除数据时,数据会被保存在一个单独的寄存器中,可以使用p
命令取回。
一些小技巧:
:n,$s/^/something
在第n行到最后一行的行首插入something%s/$/something/g
在文件的每一行尾插入something
tips: s=substitute g=global
vi file1 file2
同时编辑两个文件yy
拷贝file1中的某行:n
切换到file2p
在file2光标后粘贴从file1拷贝的内容:N
切回到file1
:%s#/usr/bin#/bin#g
或:%s//usr/bin//bin/g
把文件中所有路径/usr/bin换成/bin
:set nu
编辑器每一行显示行号
Vi Usage的更多相关文章
- vi 编辑内容中查找字符位置
[root@localhost gdm]# vi /etc/X11/gdm/gdm.conf # You can also use the gdm-restart and gdm-safe-resta ...
- 我的vi/vim配置文件
位于/etc/vim/的vimrc " All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by & ...
- vi 编辑器笔记
摘要: vi从安装到使用 vi从菜鸟到高手 0. vim - Vi IMproved, a programmers text editor 分为 VI和VIM,现在流行的发行版里面VI=VIM 是一个 ...
- 3、树莓派的配置:改静态IP、连接ssh、安装中文字体、安装谷歌输入法、增加USB电流、修改触摸屏分辨率、扩展sd卡空间、修复vi和vim乱码问题、安装配置远程桌面vnc
本博文仅作本人操作过程的记录,留作备忘.自强不息 QQ1222698 1.连接上HDMI线,插上触摸屏,插上键盘,鼠标,网线,启动.系统正常启动,但是一直闪烁,不停的黑屏,是由于触摸屏的usb口供电不 ...
- GNU Screen Usage
分屏: 1.在终端输入screen命令 2.Ctrl+a 然后shift+s 上下分屏,切换到下方Ctrl+a tab然后新建一个window(Ctrl+a c) 3.切换到上方,Ctrl+a tab ...
- [OpenCV-Python] OpenCV 中视频分析 部分 VI
部分 VI视频分析 OpenCV-Python 中文教程(搬运)目录 39 Meanshift 和 和 Camshift 目标 • 本节我们要学习使用 Meanshift 和 Camshift 算法在 ...
- CentOS上svn checkout时报错SSL handshake failed: SSL error: Key usage violation in certificate has been det
局域网安装了个SVN在checkout的时候报错 SSL handshake failed: SSL error: Key usage violation in certificate has bee ...
- SHELL脚本编程的常识和VI常用技巧
来源:http://mprc.pku.edu.cn/mentors/training/TrainingCourses/material/ShellProgramming.HTM#_Toc3751808 ...
- Vi编辑器修改文件.bash_profile可解决backspace出现乱码问题,rlwrap 的安装。
Vi编辑器修改文件.bash_profile可解决backspace出现乱码问题 使用SecureCRT或是pietty_ch连接到一台安装有Oracle DB 10g的RHEL4.2的机器,linu ...
随机推荐
- 手把手教你自动生成Makefile
概述:autoconf/automake工具用于自动创建功能完善的Makefile文件,接下来简单介绍一下,如何使用上述工具 自动生成Makefile 前提:安装autoconf工具(ubuntu:s ...
- 【Unique Binary Search Trees】cpp
题目: Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For e ...
- NYOJ-244 16进制的简单运算 AC 分类: NYOJ 2014-01-17 21:11 195人阅读 评论(0) 收藏
#include<stdio.h> int main() { long x,y; char op; int t; scanf("%d ", &t); while ...
- 讨论下IDS的绕过
自从知道dedecms自带了80sec的内置Mysqlids后,一直以来也没有想到绕过的办法.或者是自己mysql的根底太差了吧.于是分析dedecms源码时,只找模板执行,本地包含,上传等,完全没有 ...
- 【ASP.Net MVC】在AspNet Mvc使用JQuery AutoComplete组件
在AspNet Mvc使用JQuery AutoComplete组件 官方文档: http://api.jqueryui.com/autocomplete/#entry-examples 要使用JQu ...
- MariaDB集群Galera Cluster的研究与测试
MariaDB集群Galera Cluster的研究与测试 Galera Cluster是MariaDB的一个双活多主集群,其可以使得MariDB的所有节点保持同步,Galera为MariaDB提供了 ...
- linux gcc loudong
五事九思 (大连Linux主机维护) 大连linux维护qq群:287800525 首页 日志 相册 音乐 收藏 博友 关于我 日志 spcark_0.0.3_i386.src.t ...
- 全自动化的 Android 编译管线
[编者按]Nicolas Frankel 是 hybris 的高级顾问, 在Java / J2EE 领域拥有超过10年的管理经验,本文阐述了他在使用自动化工序去构建 Android 应用程序遇到的一些 ...
- IE6中常见兼容性问题及浏览器显示难题
1.双倍边距Bug 问题描述:假如有一个ul,里面有若干li,当li设置为左浮动时,此时设置li的margin-left为10px,会在最左侧呈现双倍情况.即20px 正常显示: IE6显示: 修正方 ...
- php laravel 安装
windows环境尝试学习一下laravel 1.因为SAE的php版本为5.3,因此最高只能支持到Laravel4.1.x.(Laravel4.2用到了php5.4的trait特性) 以4.1为主. ...