Chinaunix

标题: 可以在shell中操作VI吗? [打印本页]

作者: xwmhmily    时间: 2008-07-06 22:41
标题: 可以在shell中操作VI吗?
可以在shell中操作VI吗?
如果可以,如何操作?
作者: walkerxk    时间: 2008-07-06 23:45
你要执行g/abc/s/ab/de/g这样的命令?可以用sed。
作者: eeeef    时间: 2008-07-07 01:23
在脚本中操作VI,提示这个:Vim: Warning: Input is not from a terminal
貌似Vim拒绝了从脚本中传入的命令,非得from a terminal才行。
作者: walkerxk    时间: 2008-07-07 01:37
bash-3.2$ cat a
1
2
3
bash-3.2$ vi a -e -c :2d <<!
> :wq
> !
bash-3.2$ cat a
1
3
bash-3.2$
作者: 寂寞烈火    时间: 2008-07-07 01:58
vim -e -s -c ":%s/abc/ABC/g" -c ":wq" filename
作者: blackold    时间: 2008-07-07 10:30
标题: 回复 #3 eeeef 的帖子
Nothing is impossible!
作者: 可可熊    时间: 2008-07-07 11:18
原帖由 walkerxk 于 2008-7-7 01:37 发表
bash-3.2$ cat a
1
2
3
bash-3.2$ vi a -e -c :2d  !
bash-3.2$ cat a
1
3
bash-3.2$


vi 1 -e -c :2d -c ":wq"

呵呵,学习一下。
作者: xwmhmily    时间: 2008-07-09 19:01
原帖由 walkerxk 于 2008-7-7 01:37 发表
bash-3.2$ cat a
1
2
3
bash-3.2$ vi a -e -c :2d  !
bash-3.2$ cat a
1
3
bash-3.2$


强! 不过可以说说其中参数的意思吗? 或者哪有相关文章? 谢了
作者: walkerxk    时间: 2008-07-10 00:52
-e是ex模式,就是早期那个只支持行操作的编辑器,也就是最下面输入:wq的那行,vi其实是ex的扩展。-c是指定命令。你可以和我一样用here doc分行输入,或者和烈火一样分多个输入。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2