" vimrc_hebrew - some settings for hebrew vim support " to use those settings - add the following file to the end of your " .vimrc (in your home directory) " select hebrew font for gvim " set guifont=heb8x13 """"""""""""""""""""""""""""""""""""""""""""""""""""""" " some key bindings " Allow revins (CTRL-_) - toggles visual hebrew editing at insert mode " note that I put here a key mapping for F10 to do that (and also not " in insert mode) set allowrevins " toggle both direction and hebrew keyboard mapping " this is useful for logical-order hebrew editing map :set invrl:set invhk " do it when in insert mode as well (and return to insert mode) imap :set invrl:set invhka " toggle both reverse insertion and hebrew keyboard mapping " this is useful for visual-order hebrew editing map :set invrevins:set invhk " do it when in insert mode as well (and return to insert mode) "imap :set invrevins:set invhka imap "toggle comand line language cmap " toggle language and add at EOL map :set invrl:set invhk " do it when in insert mode as well (and return to insert mode) imap :set invrl:set invhkA """"""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""" " some key bindings " Allow revins (CTRL-_) " (for some reason I can't get Ctrl+Shift+\- to work for me) set allowrevins " toggle both direction and hebrew keyboard mapping map :set invrl:set invhk " do it when in insert mode as well (and return to insert mode) imap :set invrl:set invhka map "toggle comand line language cmap " toggle language and add at EOL map :set invrl:set invhk " do it when in insert mode as well (and return to insert mode) imap :set invrl:set invhkA """"""""""""""""""""""""""""""""""""""""""""" " TODO: condition this with the availability of bidi support nmenu Heb&rew.&Toggle\ Heb<->Eng\ \(F9\) :set invrightleft:set hkmap vmenu Heb&rew.&Toggle\ Heb<->Eng\ \(F9\) :set invrightleft:set hkmap imenu Heb&rew.&Toggle\ Heb<->Eng\ \(F9\) :set invrightleft:set hkmap cmenu Heb&rew.&Toggle\ Heb<->Eng\ \(F9\) :set invrightleft:set hkmap omenu Heb&rew.&Toggle\ Heb<->Eng\ \(F9\) :set invrightleft:set hkmap tmenu Heb&rew.&Toggle\ Heb<->Eng\ \(F9\) Switch between english mode and hebrew mode nmenu Heb&rew.Toggle\ &Visual\ \(F10\) :set invrevins:set invhk imenu Heb&rew.Toggle\ &Visual\ \(F10\) amenu Heb&rew.-sep1- " The follwing can serve to demonstrate exactly what can be done, " but it is quite useless... " note that "rl" can be a shorthand for "rightleft" amenu Heb&rew.RTL\ Display :set rightleft amenu Heb&rew.LTR\ Display :set norightleft amenu Heb&rew.Toggle\ RTL-LTR\ &Display :set invrightleft amenu Heb&rew.-sep2- " note that "hk" can be a shorthand for "hkmap" amenu Heb&rew.Hebrew\ Keyboard :set hkmap amenu Heb&rew.English\ Keyboard :set nohkmap amenu Heb&rew.Toggle\ &Keyboard :set invhkmap amenu Heb&rew.-sep3- " useful for editing visual-hebrew texts: " note that "ri" can be a shorthand for "revins" amenu Heb&rew.Inverted\ Keyboard :set revins amenu Heb&rew.Normal\ Keyboard :set norevins amenu Heb&rew.Toggle\ &Inverted\ Keyboard :set invrevins amenu Heb&rew.-sep4- " note that "ari" can be a shorthand for "allowrevins" amenu Heb&rew.Enable\ ^-_ :set allowrevins amenu Heb&rew.Disable\ ^-_ :set noallowrevins amenu Heb&rew.Toggle\ ^-_ :set invallowrevins " I'm not sure that the following is needed(or maybe only leave the " "toggle" button), and if it is there bound to be a way to make it more " elegant. Anyway - I have not bothered to create icons yet... " Add heb&rew buttons to the toolbar nmenu 1.1000 ToolBar.English :set norightleft:set nohkmap vmenu 1.1000 ToolBar.English :set norightleft:set nohkmap imenu 1.1000 ToolBar.English :set norightleft:set nohkmap cmenu 1.1000 ToolBar.English :set norightleft:set nohkmap omenu 1.1000 ToolBar.English :set norightleft:set nohkmap tmenu ToolBar.English Switch to English " the following item does not seem to work. I can't figure out why amenu 1.1010 ToolBar.TogHeb "nmenu 1.1010 ToolBar.TogHeb :set invrightleft:set invhkmap "vmenu 1.1010 ToolBar.TogHeb :set invrightleft:set invhkmap "imenu 1.1010 ToolBar.TogHeb :set invrightleft:set invhkmap "cmenu 1.1010 ToolBar.TogHeb :set invrightleft:set invhkmap "omenu 1.1010 ToolBar.TogHeb :set invrightleft:set invhkmap tmenu ToolBar.TogHeb Toggle Hebrew <-> English nmenu 1.1020 ToolBar.TogHeb :set rightleft:set hkmap vmenu 1.1020 ToolBar.Hebrew :set rightleft:set hkmap imenu 1.1020 ToolBar.Hebrew :set rightleft:set hkmap cmenu 1.1020 ToolBar.Hebrew :set rightleft:set hkmap omenu 1.1020 ToolBar.Hebrew :set rightleft:set hkmap tmenu ToolBar.Hebrew Switch to Hebrew " add a hebrew help item (:help hebrew) to the help menu amenu 9999.25 &Help.He&brew :help hebrew """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""