当我使用less
并按下v它时,它会切换到当前设置的编辑器(Emacs 或 vim)。
MISCELLANEOUS COMMANDS v Edit the current file with $VISUAL or $EDITOR.
如果我不想在编辑器中打开当前文件,是否可以防止这种行为?
答案1
您可以v通过将其绑定到来禁用noaction
:add
# command
v noaction
to ~/.lesskey
(或者,如果$XDG_CONFIG_HOME
设置了并且您使用的是less
582 或更高版本,则$XDG_CONFIG_HOME/lesskey
),并且如果您使用的是less
581 或更早版本,则运行lesskey
。
您还可以绑定v到不同的命令。例如,要使其向下移动一行而不是打开编辑器,请使用
# command
v forw-line
反而。 (默认绑定是visual
。)
禁用vin 的另一种方法less
是设置VISUAL
为true
:
VISUAL=true less foo
然后按下v将运行true foo
,这将立即返回到less
。
答案2
您可以v
通过将环境变量设置LESSSECURE
为 来禁用该命令1
。
export LESSSECURE=1
您可以在 shell 的初始化文件中为新的 shell 会话设置此项。
但请注意,这也会禁用!
、|
、:e
和s
命令,以及其他一些可能不安全的功能。请参阅手册中的“安全”部分less(1)
。