在Windows上用RealVNC Viewer访问Linux服务器时,想把VNC中的命令执行结果拷出来,贴到Excel中做文档。
不做设置当然是不能copy的了,要单独开个terminal,执行
% vncconfig -nowin &
才行。
但是,碰到日文内容时就傻了。
原来的内容是
|---------- 要素点座標情報 0.1 : 10583194 th byte (Hex)0xa17c9a ------------+-----------------------------------------------------------------------|
|------------ X座標(経度) 0.1 : 10583194 th byte (Hex)0xa17c9a ----------+-----------------------------------------------------------------------|
拷出来一看,变成了
|---------- \u8981\u7d20\u70b9\u5ea7\u6a19\u60c5\u5831 0.1 : 10583194 th byte (Hex)0xa17c9a ------------+-----------------------------------------------------------------------|
|------------ \uff38\u5ea7\u6a19\uff08\u7d4c\u5ea6\uff09 0.1 : 10583194 th byte (Hex)0xa17c9a ----------+-----------------------------------------------------------------------|
一个个都是unicode编码。
不知道怎么设置才能拷出来正常的日文,上网查无果。只好在emacs里面转。
因为“0x8981”正好对应“要”字,所以录一个宏,找到一个\u后,把一个\uXXXX转成一个字符。再把宏执行个几十上百遍,就行了。
- 把“乱码”后的内容拷进emacs
- 开始录制宏 C-x (
- ...
- 结束录制宏 C-x )
- 执行100遍 C-u 100 C-x e
录出来的宏是这样子的(用name-last-kbd-macro 起名为chgucs,然后 insert-kbd-macro)
(fset 'chgucs
[?\C-s ?\\ ?u ?\C-m ?\C- ?\C-f ?\C-f ?\C-f ?\C-f ?\C-w backspace backspace escape ?x ?u ?c ?s ?- ?i ?n ?s ?e ?r ?t return ?\C-y return])
实际按键是按以下顺序
Macro:
C-s ;; isearch-forward
\ ;; self-insert-command
u ;; self-insert-command
RET ;; newline
C-SPC ;; set-mark-command
4*C-f ;; forward-char
C-w ;; kill-region
2*DEL ;; backward-delete-char-untabify
ESC
xucs-insert ;; self-insert-command * 11
RET ;; newline
C-y ;; yank
RET ;; newline
%vncconfig的使用nowin
⇄
侦测语言 » Afrikaans
⇄
侦测语言 » Afrikaans