下面的函数应该#
在行首插入一个 if ,如果不是,它应该到行尾并插入一个#
。为什么这不起作用(它总是走到最后并插入一个#
?
(defun end-of-line-hash ()
(interactive)
(if (beginning-of-line)
(insert "#")
(end-of-line)
(insert "#"))
)
(global-set-key (kbd "#") 'end-of-line-hash)
下面的函数应该#
在行首插入一个 if ,如果不是,它应该到行尾并插入一个#
。为什么这不起作用(它总是走到最后并插入一个#
?
(defun end-of-line-hash ()
(interactive)
(if (beginning-of-line)
(insert "#")
(end-of-line)
(insert "#"))
)
(global-set-key (kbd "#") 'end-of-line-hash)
函数beginning-of-line
将点移动到行首。它可能会返回nil
。试试这个。
(defun end-of-line-hash ()
(interactive)
(if (= (point) (line-beginning-position))
(insert "#")
(end-of-line)
(insert "#"))
)
在rwb的回答的帮助下:
(defun hash-character-ESS ()
(interactive)
(if (region-active-p)
(comment-region (region-beginning) (region-end))
(if (= (point) (line-beginning-position))
(insert "#")
(end-of-line)
(insert "#")))
)
1) 如果选择了文本,请评论该区域。
2) 如果点(光标)位于行首,则在此处插入# 字符。
3) 如果点不是前两个中的任何一个,请将# 放在行尾。