Linux vim/vi下backspace(退格键)出现^? 或^H
当次删除操作,可以用【ctrl+w】以词为单位删除。一劳永逸的解决办法需按下面进行,二选一。vim/vi下退格键出现^? (bash下)
方式一:
编辑 .bash_profile 文件,添加一行 stty erase ^? 到最后。执行如下:
vi ~/.bash_profile
stty erase ^?
方式二:
vim/vi下退格键出现^H(csh下)
编辑 .cshrc 文件,添加一行 stty erase ^H 到最后。执行如下:
vi ~/.cshrc
stty erase ^H
p.s.:bash下 检查修改是否成功,输入命令:
stty -a
发现值 erase = ^?; 已经修改成功。
标签: vim vi bash stty backspace
vim 大小写转换
vim 大小写转换平时在写程序时经常会遇到大小写转换的问题,vim中提供了很多非常方便的大小写转换命令,可以快速的进行字母、单词、任意行的大小写转换,可以和vim的光标移动指令组合使用。
We have commands like "tr", tools like "sed", strong one liners from perl to do the conversions of lowercase UPPERCASE Titlecase . "vi" too provides the same, some of its :ex commands are below.
平时在写程序的过程中会经常遇到大小写转换的问题.我们有命令tr和工具sed,vi有类似的功能:
范例:
:1,$ s/.*/\L&/ #整个文件全部转换为小写
:1,$ s/.*/\U&/ #整个文件全部转换为大写
:1,$ s/\<./\u&/g #整个文件中每个单词的首字母大写
vim 删除指定的行
vim 删除指定的行
#-----命令行模式下------
1.删除以#开头的行:g/^#.*$/d
2.删除以//开头的行:
g/^\/\/.*$/d
3.删除空白行:
g/^$/d
4.刪除包含有空格組成的空行
g/^\s*$/d
5.删除以空格或tab開頭到結尾的空行
g/^[ |\t]*$/d
原创转载请注明来源:https://www.dushiwei.cn/post/461
Vim 常用命令 130 条
Vim 是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。这里收录了130+程序员必备的 vim 命令,帮助你提高开发效率。欢迎在评论中补充你常用到,但这里没有列出来的命令。
Basics
:e filename | Open filename for edition |
:w | Save file |
:wq | 保存并退出 |
:q | Exit Vim |
:q! | Quit without saving |
:x | Write file (if changes has been made) and exit |
:sav filename | Saves file as filename |
. | Repeats the last change made in normal mode |
5. | Repeats 5 times the last change made in normal mode |
标签: vim
Vim 正则表达式的使用及查找替换
简单替换表达式:[range]s/from/to/[flags]
range:搜索范围,如果没有指定范围,则作用于但前行。
:1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之间搜索替换;
:10s/from/to/ 表示只在第10行搜索替换;
:%s/from/to/ 表示在所有行中搜索替换;
1,$s/from/to/ 同上。
flags 有如下四个选项:
c confirm,每次替换前询问;
e error, 不显示错误;
g globle,不询问,整行替换。如果不加g选项,则只替换每行的第一个匹配到的字符串;
i ignore,忽略大小写。
这些选项可以合并使用,如cgi表示不区分大小写,整行替换,替换前询问。
使用sed awk bash提取行的范围
使用sed awk bash提取行的范围
以下是根据行号打印或提取文件部分的几种不同方式。
方式一使用sed把文件中指定行的内容重定向到/tmp/file1中
sed -n ’27,99p’ file.txt > /tmp/file1
等同于
sed '27,99 !d' file.txt > /tmp/file2
方式二使用awk NR
awk 'NR >= 27 && NR <= 99' file.txt > /tmp/file3
方式三使用head和tail
head -99 file.txt | tail -73 > /tmp/file4
vim 编辑远程文件
vim 编辑远程文件
unstableme.log 是一个存放在172.21.20.104服务器/root目录下的一个文件. 通过从本地的编辑该文件的命令是:
vim scp://root@172.21.20.104//root/unstableme.log
这个时候会提示你输入172.21.20.104服务的密码
(转)http://www.unixcl.com/2008/08/edit-remote-file-using-vi-and-scp-linux.html
vim 打开文件并跳动指定的行数
vim 打开文件并跳动指定的行数
有时我们需要在vim中打开一个文件,然后需要去一个特定的行号,以便检查某些东西或编辑某些东西。 这就是我们如何在vim中打开一个文件,并直接把光标放在我们感兴趣的所需行上。
方法-
使用vim -c 参数
From VIM(1) man page:
-c {command}
{command} will be executed after the first file has been read. {command} is interpreted as an
Ex command. If the {command} contains spaces it must be enclosed in double quotes (this
depends on the shell that is used). Example: Vim "+set si" main.c
vim 大小写快速转换
平时在写程序的过程中会经常遇到大小写转换的问题.我们可以借助命令命令tr和sed进行转换.,vim中提供了很多非常方便的大小写转换命令,可以快速的进行字母、单词、任意行的大小写转换,可以和vim的光标移动指令组合使用。
范例:
:1,$ s/.*/\L&/ #整个文件全部转换为小写
:1,$ s/.*/\U&/ #整个文件全部转换为大写
:1,$ s/\<./\u&/g #整个文件中每个单词的首字母大写
:1,$ s/\<./\u&/gc
#带确认提示首字母转成大写,此模式会进行确认信息交互,选择参数有replace with \u& (y/n/a/q/l/^E/^Y)?
#1)y确认转换
#2)n不进行转换
#3)a文件中全部替换
#4)q退出替换模式
#5)l替换第一个然后退出交互
#6)^E/^Y这两个暂未明白
热门日志
分类
- Django(4)
- ssdb(1)
- Mac(7)
- C(1)
- memcache(1)
- Python(32)
- Vim(8)
- sed(2)
- ansible(3)
- awk(4)
- shell(3)
- about(1)
- git(9)
- bat(4)
- svn(0)
- docker(1)
- Tornado(1)
- go(2)
- 架构(18)
- Vue(1)
- game(2)
- Html(6)
- Java(8)
- Mysql(37)
- Ajax(2)
- Jsp(1)
- Struts(8)
- Linux(72)
- JavaScript(39)
- Staruml(0)
- Mouth(1)
- Php(102)
- Windows(8)
- Message(48)
- Lua(10)
- Compute(1)
- Redis(7)
- Nginx(12)
- Jquery(1)
- Apache(1)
- cocos2d-x(8)