emacs切换窗口到C-TAB和CS-TAB

Gau*_*ier 5 emacs

我在这里看到了关于用C-x o和将光标从窗口移动到窗口的问题M-- C-x o.精细.

我想把它映射到C-TABC-S-TAB.

这是我添加到我的.emacs中的内容:

(global-set-key [C-tab] 'other-window)
(global-set-key [C-S-tab] '(other-window -1))
Run Code Online (Sandbox Code Playgroud)

C-tab有效,但不是C-S-tab.

迷你消息告诉我:

Wrong type argument: commandp, (other-window -1)
Run Code Online (Sandbox Code Playgroud)

我试过没有围绕其他窗口的括号,但这也行不通.

简而言之,我不确定如何将可选参数传递给我的.emacs中的函数.

请帮忙?

编辑添加版本:( Windows上的emacs 22.3.1)

Mat*_*hen 7

(global-set-key [C-S-tab] 
    (lambda ()
      (interactive)
      (other-window -1)))
Run Code Online (Sandbox Code Playgroud)

编辑:(interactive)根据Gauthier和Peter Hart的说法添加.

  • 需要(交互式)以使该功能可交互地调用(即从Mx提示或事件).http://www.gnu.org/s/emacs/manual/html_node/elisp/Interactive-Call.html提供了更多信息. (2认同)

p4b*_*bl0 5

我在手机上,我不记得确切的按键顺序,但你可以在我的init.el文件或Ch k CS-TAB中找到它,所以emacs给你打电话"<你寻找的按键序列>不是绑定任何"或类似的东西. http://pablo.rauzy.name/init.el.html :-)

编辑:所以我现在在我的电脑上,这是一个简单的方法:

(global-set-key [C-tab] 'next-buffer)
(global-set-key [C-S-iso-lefttab] 'previous-buffer)
Run Code Online (Sandbox Code Playgroud)