使用vim的命令行补全功能

网友Karl问:

有时,我在VIM中想把一个单词替换成另一个单词,用yw,然后到要被替换的单词那里:dw 然后”0P,很多个步骤。yw,dw,”0P,这样子感觉按键多而且不顺手,请问你是怎么替换的?(:s/a/b这种要敲两个单词速度也不快)

我的回答见这个链接:http://easwy.com/blog/archives/an-article-about-how-to-write-vim-script/#comment-947

Karl说用替换的方式,要敲两个单词,速度不会很快。其实,如果掌握了命令行补全功能,用替换命令的速度也不会慢。

例如,我们可以这样操作,首先移到到第一个单词处,使用“ayw把这个单词拷贝到a寄存区,然后把光标移动到第二个单词下,接着输入下面的命令:

    :%s/<C-R>a/<C-R><C-W>/g 

上面的命令使用了两个命令行补全功能,其中<C-R>a需要按住<CTRL>-R键,这时光标处会显示一个”,接下来再按a键,这个按键序列的功能是插入a寄存区所保存的内容,在我们的例子里,就是插入第一个单词;后面的<C-R><C-W>则是在命令行插入编辑区中光标下的单词,在我们的例子里,编辑区光标下的单词就是第二个单词。

如果要替换的个数比较多,使用上面的办法就比较好,可以用较少的按键完成替换功能,而且还不用担心输错单词。

命令行补全的帮助手册为:c_CTRL-Rc_CTRL-R_CTRL-W,我们可以看到,使用<C-R>系列命令,不仅可以插入各个暂存区中的内容、光标下的内容,你甚至可以使用一个表达式,来完成更复杂的工具,事实上,很多脚本中就在这样使用。

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/vim-command-line-complete/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Linux使用笔记: subversion使用

  1. 查看某次提交所修改的文件列表:
  2. svn -v -r 12345 log
    
  3. 设置忽略文件列表
  4. svn pe svn:ignore .
    
  5. 设置全局忽略文件列表
  6. 编辑~/.subversion/config文件,修改此文件中的global-ignores,例如,想让subversion忽略vim的交换文件文件,可以这样设置:

    global-ignores = *.o *.swp
    

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/several-subversion-tips/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Linux使用笔记:在CentOS 5中关闭IPv6

在CentOS 5中关闭IPv6的方法:

首先修改/etc/modprobe.conf文件,在此文件中加入:

alias net-pf-10 off
alias ipv6 off

然后修改/etc/sysconfig/network文件,修改”NETWORKING_IPV6″一行为:

NETWORKING_IPV6=no

然后重启系统即可。

深入阅读请看:Centos/redhat中关闭IPV6

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/disable-ipv6-in-centos-and-redhat/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Linux使用笔记: 实现ssh不需要密码登录

经常需要使用scp向虚拟机上拷贝文件,每次都输入密码太麻烦,于是按下面的步骤配置了一下,再使用ssh或scp登录虚拟机就不需输入密码了:

  1. 在本端计算上生成ssh的公钥和私钥,使用命令ssh-keygen -t rsa,该命令会提示几个问题,可以直接回车。执行完成后,会在~/.ssh/目录下生成两个文件:id_rsa和id_rsa.pub。
  2. 使用scp把刚才生成的id_rsa.pub拷贝到远端计算机(对我来说就是虚拟机),我一般使用root用户登录虚拟机,因此把这个文件放在/root/.ssh目录下,并改名为authorized_keys。
  3. 现在再访问虚拟机,就不需要再输入密码了:ssh root@easwy_pc1

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/ssh-login-no-password-needed/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Linux使用笔记: 共享内存的查看与释放

程序异常退出时没有释放共享内存,调试时出现错误,在网上搜了一下,在shell中是可以查看与释放已分配的共享内存的。

查看共享内存,使用ipcs命令,不加任何参数时,这条命令会把共享内存/信号量/消息队列的信息都打印出来。如果只想显示共享内存信息,则使用ipcs -m

要删除共享内存,需要使用ipcrm命令,使用shmid做为参数。shmid在ipcs命令中会有输出。

下面的命令可以释放所有已分配的共享内存:

ipcs -m | awk '$2 ~ /[0-9]+/ {print $2}' | while read s; do sudo ipcrm -m $s; done

深入阅读请看: 批量释放系统共享内存

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/linux-note-about-share-memory/

文章的脚注信息由WordPress的wp-posturl插件自动生成