emacs与konsole不对付的那点事

作为Linux重度用户,折腾过各式各样的WM/DE,最终还是觉得KDE PLASMA的易用性和美观程度是最佳的,考虑到不折腾的缘故,一直使用KDE至今,虽则时有crash,但总体上不优点大于缺点,瑕不掩瑜。 在linux上,存在较多的终端仿真器,即terminal emulator,所谓的仿真器就是把图形系统即X窗口上的键盘输入,转化成virtual terminal的输入,传送给那些将标准输入关联在/dev/pts这些伪终端设备上的控制台程序,使得这些控制台程序能够像在文本模式下那样工作。 这些仿真器中就包括KDE自带的konsole。 但konsole有一个问题就是,如果我们在终端仿真器里进行emacs -nw即文本模式的emacs(图形模式下不存在下面所述问题),则ctrl+2/ctrl+2这个emacs默认用来激活mark的命令大概率不能用,当然ctrl+space也可以用,但对于中文用户而言,ctrl+space大多绑定到输入法中英文切换,相应的键不能用,还是带来了诸多不便。 由于konsole可以通过手工设置key binding,因此可以手工将ctrl+2这个键绑定到发送\0这个控制序列给终端程序,来解决此问题,但对于适应了ctrl+@这个相似功能的键位的用户来说,目前key binding无法设置,仍是非常不便。 https://bugs.kde.org/show_bug.cgi?id=341157 KDE社区有人提了类似的bug,且已经解决,但似乎只解决了西语用户所关注的ctrl+space问题,但ctrl+@这个仍未解决,我已经提供了相关的反馈,期待进一步的进展。 :::console fortitude@fortitude:~$ konsole -version QCoreApplication::arguments: Please instantiate the QApplication object first Qt: 5.5.1 KDE Frameworks: 5.19.0ppp Konsole: 15.12.2 由于C++代码不够熟悉,自己也没有过我的精力去钻研这里,就先写在这里,供遇到相似问题的朋友参考关注。

March 1, 2016 · 1 min · fortitude.zhang

Emacs批量重命名文件

对于Emacs党来说,最好什么事情都能在Emacs中用键盘完成,即酷又方便,今天在编码过程中决定对一批文件进行重命名,发现在Emacs里完成这件事是相当的直觉(intuitive,直觉很重要,我个人很喜欢这种方式,因为通过减少思考而能够形成潜意识,从而提高效率),总结下来一共如下四步: 1> 使用 find-dired 命令找到所有待修改的文件 /home/fortitude/tmp/: find . \( -name "test*" \) -ls 1180244 0 -rw-r--r-- 1 fortitude bigdog 0 1月 31 2013 test.py~ 1224276 4 -rw-r--r-- 1 fortitude bigdog 36 1月 31 2013 test.py 1180238 4 -rw-r--r-- 1 fortitude bigdog 142 1月 31 2013 test.pyc 2> 使用 wdired-change-to-wdired-mode 命令切换dired模式到wdired模式,即可编辑的dired模式 注意modeline上将出现Editable Dired标识 3> 像替换buffer一样替换上面的test为test1,祭出Emacs的各种编辑功能:) /home/fortitude/tmp/: find . \( -name "test*" \) -ls 1180244 0 -rw-r--r-- 1 fortitude bigdog 0 1月 31 2013 test1.py~ 1224276 4 -rw-r--r-- 1 fortitude bigdog 36 1月 31 2013 test1.py 1180238 4 -rw-r--r-- 1 fortitude bigdog 142 1月 31 2013 test1.pyc 4> 使用 wdired-finish-edit1(默认快捷键为C-c C-c)来保存配置,批量编辑完成 /home/fortitude/tmp: 总用量 100 drwxr-xr-x 3 fortitude bigdog 4096 5月 5 23:22 . drwxr-xr-x 84 fortitude bigdog 4096 5月 5 22:47 .. -rw-r--r-- 1 fortitude bigdog 36 1月 31 2013 test1.py -rw-r--r-- 1 fortitude bigdog 0 1月 31 2013 test1.py~ -rw-r--r-- 1 fortitude bigdog 142 1月 31 2013 test1.pyc 我认为这里最酷的东西就是 wdired-change-to-wdired-mode 这个命令了,使得编辑文件名如同编辑buffer一样,相当惊喜! ...

May 5, 2014 · 1 min · fortitude.zhang