Linux vim/vi下backspace(退格键)出现^? 或^H

2019-10-31 杜世伟 Linux

当次删除操作,可以用【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

评论(0) 浏览(5651)

vim 大小写转换

2015-6-12 杜世伟 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 #整个文件中每个单词的首字母大写

阅读全文>>

标签: linux vim sed

评论(0) 浏览(15504)

vim 删除指定的行

2015-5-3 杜世伟 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

阅读全文>>

标签: linux vim

评论(0) 浏览(5132)

Vim 常用命令 130 条

2014-9-17 杜世伟 Vim

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

评论(0) 浏览(3010)

Vim 正则表达式的使用及查找替换

2014-7-9 杜世伟 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表示不区分大小写,整行替换,替换前询问。

阅读全文>>

标签: linux vim

评论(0) 浏览(14371)

使用sed awk bash提取行的范围

2014-5-15 杜世伟 Vim

使用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

阅读全文>>

标签: linux vim sed awk

评论(0) 浏览(18796)

vim 编辑远程文件

2014-5-13 杜世伟 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

标签: linux vim vi

评论(0) 浏览(15826)

vim 打开文件并跳动指定的行数

2014-5-10 杜世伟 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

阅读全文>>

标签: linux vim vi

评论(0) 浏览(11861)

vim 大小写快速转换

2014-5-2 杜世伟 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这两个暂未明白

阅读全文>>

标签: linux vim sed tr

评论(0) 浏览(21005)

Powered by emlog 沪ICP备2023034538号-1