Se você não quer perder seu tempo!
Até agora , este artigo é apenas para usuários do EMACS e foi originalmente criado apenas para mim
Pelo que eu sei, muitos programadores usam VIM, e alguns também usam VIM, mas o fazem em modo EMACS, EVIL (evil), o que significa que essas pessoas entendem todos os encantos do VIM (edição rápida de texto sem usar mouse, a presença de vários modos, etc.), mas eles realmente amam a capacidade de adicionar bilhões de plug-ins. Mas também sei que o VIM foi feito vários milhões de anos atrás, para os programadores da época e para ser um editor separado (não para o EMACS), então o VIM não usa todos os recursos que poderia, por exemplo: A chave para entrar no modo de comando é no canto inferior do teclado (e sim, eu sei que isso pode ser facilmente corrigido em .vimrc), também se eu quiser ir para a edição de outro arquivo, então preciso:
Vá para o modo de comando (clicando em você sabe onde)
Imprimir `: find` e nome do arquivo
Se eu cometi um erro no nome do arquivo ---> no ponto 2
Isso pode levar uma eternidade e você terá que alterar o arquivo atual com muita freqüência! Além disso, se você estiver usando o layout dvorak, como é possível usar o VIM? E, em geral, todas as chaves do VIM são configuradas não para serem usadas rapidamente, mas para lembrar rapidamente isso também é legal, porque cada comando no VIM pode se transformar em uma frase inteira bonita e compreensível para qualquer falante nativo, e XAH FLY KEYS não pode se gabar de tal talvez, porque é legal em outro, edição rápida de texto, e se você é um usuário de algum layout impopular, então é improvável que você encontre melhor!
Vamos passar para o ponto mais importante neste excelente artigo.
XAH FLY KEYS
XAH FLY KEYS, VIM, !
-
XAH LEE, EMACS- , ErgoEmacs .
1 ( , ), , , :
, XAH FLY KEYS 10- , ( QWERTY DVORAK AZURE).
github , - :
xah-fly-keys MELPA package manager EMACS
Emacs Lisp :
(require 'xah-fly-keys) (xah-fly-keys-set-layout "qwerty") ; (xah-fly-keys 1)
XAH-FLY-KEYS 2 : COMMAND INSERT ( VIM), COMMAND , HOT-KEYS, :
INSERT mode - ( COMMAND f)
COMMAND mode - ( INSERT Alt+SPACE)
COMMAND mode, - - , f, INSERT mode, SPACE (), , Space f, , SPACE, , Space i f, .
- :
j -
i -
k -
l -
o - 1
u - 1
; - 1 , :
h - 1
m -
. -
/ - , :
0 - .
, import , , , 0, , .
Ctrl+4 - ( flycheck-mode)
Ctrl+3 - ( flycheck-mode)
Space H - (Space - )
Space N - (Space - )
Space p - ( -> , -> , -> )
8 - , , ,
1 - , , ,
2 7 -
6 - ""
9 -
t - , (VISUAL MODE)
Space a -
Space o Space -
d - 1
5 - 1
e -
r -
x - - , (. /)
Space g -
g - :
Space k f - , ,
Space k t -
Space k g -
Space k a - ""
' - . ( -> , -> ()), :
z - / ,
w - , .
.
p - ( INSERT )
b - ( , , )
Space 6 -
Space k e -
Space k p - ( "\" ", )
Space k k -
Space o f - , ,
Space o g -
s - ,
/ (FRAMES)
, - (FRAME)
4 -
Space 4 -
Space 5 -
Ctrl+7 - ( )
Ctrl+8 - ( )
Ctrl+t -
Ctrl+w - ( )
Ctrl+s - ( )
Space m - dired
Ctrl+Shift+s - ...
Space l b -
Space i w -
Space i g -
Space i s -
Space i f - ( )
Space , Del -
Space , x - +
Space , c -
, :
php
perl
python
ruby
go
haskell
js
typescript
shell
clojure
racket
ocaml
cscript
tex/latex
java
Space l Space -
Space l . - ( f11 )
Space l 2 -
Space l 4 - ./.
Soace l t - ./.
Ctrlr+= -
Ctrlr+- -
Space l g - EMACS
( Emacs)
Space l 6 - ( )
Space l 9 -
Space l 0 - ,
Space l c -
Space l , - Emacs
Space l d - Emacs
Space 9 -
a - ELisp ( , Alt+X)
. HELP
Space j a -
Space j j -
Space j v -
Space j l -
Space j g -
Space o e -
Space o r -
Space o h -
Space o w -
n - , , :
Space k r - + , , :
SPACE,
DEL,
ENTER,
Space k d - ( )
Space y -
/
- ( )
v -
x - ( )
1. WTF?
, 1 - , , , .. ..
Space k 1 - 1 ( -> )
Space k 2 - 1
Space k 3 - 1 = 1; 1
Space k 4 -
Emaces - Eisp ELisp-.
- - COMMAND , :
(defun my-xfk-addon-command () "Modify keys for xah fly key command mode keys To be added to `xah-fly-command-mode-activate-hook'" (interactive) (define-key xah-fly-key-map (kbd "- ") ' - ) ) (add-hook 'xah-fly-command-mode-activate-hook 'my-xfk-addon-command) ;; my-xfk-addon-command, ;; - - . ;; add-hook Command mode
Para fazer a mesma coisa apenas no modo INSERT, você precisa executar quase o mesmo código:
(defun my-xfk-addon-command () "Modify keys for xah fly key command mode keys To be added to `xah-fly-command-mode-activate-hook'" (interactive) (define-key xah-fly-key-map (kbd "- ") ' - ) ) (add-hook 'xah-fly-insert-mode-activate-hook 'my-xfk-addon-command) ;; my-xfk-addon-command, ;; - - . ;; add-hook insert mode
É tudo !!!