emacs 相当于以下 vi 命令
我正在寻找相当于以下 vi 命令的命令
<强>:! nl%
这对当前打开的文件运行 nl 命令
emacs 检测打开文件名称的方法是什么?
MX shell-commnad nl
我无法找到当前打开/缓冲区的确定值和替代值。 谢谢/马赫什
I am looking for equivalent of following vi command
:! nl %
this runs nl command on currently open file
What is emacs way to detect name of open file ?
M-X shell-commnad nl
I am not able find determine value of current open/buffer and substitute.
Thx/Mahesh
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
编辑:将您的问题误读为想要将该更改应用于您正在处理的文件。如果您只想对缓冲区运行 shell 命令,可以使用 shell-command-on-region,它通常绑定到 M-|。
如果您只是想访问特定的行号,
Mx goto-line
就可以了。我通过将(define-key global-map "\Cx\Cl" 'goto-line)
放入我的~/.emacs< 中,将其绑定到
Cx Cl
/代码>。尝试一下(在您的
~/.emacs
文件中):通过选择要操作的区域然后执行
M-#
来调用它。EDIT: Misread your question as wanting to apply that change to the file you're working on. If you just want to run a shell command against a buffer, you can use
shell-command-on-region
, which is usually bound toM-|
.If you're just trying to get to a particular line number,
M-x goto-line
works. I bind that toC-x C-l
by putting(define-key global-map "\C-x\C-l" 'goto-line)
in my~/.emacs
.Try this (in your
~/.emacs
file):Invoke it by selecting a region you want to operate on and then doing
M-#
.如果您始终希望为 shell 命令插入缓冲区的文件名,您可以使用以下建议:
添加上述代码后,Mx shell-command 将始终以缓冲区的文件名开头,因此您可以在命令中使用它。
If you always want the buffer's file name to be inserted for the shell command, you can use this advice:
Once you've added the above code, M-x shell-command will always start with the buffer's file name, so you can use it in the command.
我用这个:
然后你可以做M-! nl%
I use this:
Then you can do M-! nl %