emacs: global-set-key not working properly in some modes

Sunday, July 6, 2014

i am new with emacs but i just love it, because of being tired of mode transfers in vim. i use the following codes in the .emacs to set my key bindings:

`(global-set-key [(control l)] 'forward-char)
(global-set-key [(control j)] 'backward-char)
(global-set-key [(meta l)] 'forward-word)
(global-set-key [(meta j)] 'backward-word)
(global-set-key [(control return)] 'set-mark-command)`

and it works properly so far as i seldom write codes other than C. but today i tried org-mode and i found the key combination ctrl-j not working the way i set it. it just worked as default (new line and indent). but ctrl-l just worked properly. further more, in the scratch buffer this happens. i searched a lot but just got nothing about global-set-key (maybe it's because i know little about emacs config). would you please tell me what global-set-key means (as i think this config can apply to all modes)? or how to solve the problem?