/usr/share/jed/lib/cua.sl is in jed-common 1:0.99.19-2.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | %% CUA (Windows/Mac/CDE/KDE-like) bindings for Jed.
%%
%% Reuben Thomas (rrt@sc3d.org)
%% modified by Guenter Milde <g.milde at web.de>
%%
%% Versions:
%% 1 first version by Guenter Milde <g.milde at web.de>
%% 1.1 05/2003 triple (optional single) ESC-keypress aborts functions
%% fixed missing definition of Key_Ins
%% Key_Ctrl_Del calls cua_delete_word (was delete_word)
%% F3 bound to repeat_search (tip by Guido Gonzato)
%% removed definitions for F4...F10 (cua-compatible suggestions?)
%% ^Q exits without asking for confirmation
%%
%% USAGE:
%%
%% put somewhere in your path and uncomment the line
%% % () = evalfile ("cua"); % CUA-like key bindings
%% in your .jedrc/jed.rc file
%%
%% ESC-problem: unfortunately, some function keys return "\e\e<something>"
%% as keystring. To have a single ESC-press aborting, insert
%% autoload("cua_one_press_escape", "cuamisc");
%% cua_one_press_escape();
%% into your .jedrc. !! Attention, except for xjed, this is an experimental
%% feature that can cause problems with functions that use getkey(),
%% (e.g. showkey(), wmark.sl (before jed 99.16), ...)
%%
%% Enhancements (optional helper modes from http://jedmodes.sf.net/):
%% cuamouse.sl: cua-like mouse bindings
%% cuamark.sl: cua-like marking/copy/paste using yp_yank.sl (a ring of
%% kill-buffers)
%% numbuf.sl: fast switch between buffers via ALT + Number
%% print.sl: printing
%% ch_table.sl: popup_buffer with character table (special chars)
% --- Requirements ------------------------------------------------------
require("cuamisc"); % "Outsourced" helper functions
require("keydefs"); % Key definitions for Unix and DOS/Windos
if(strlen(expand_jedlib_file("cuamark.sl"))) % non standard mode
require("cuamark");
else
require("wmark"); % cua-like marking, standard version
require("recent"); % save a list of recent files
% --- Variables --------------------------------------------------------
set_status_line(" %b mode: %m %n (%p) %t ", 1);
menu_set_menu_bar_prefix ("Global", " ");
Help_File = "cua.hlp";
%--- Keybindings --------------------------------------------------------
% This key will be used by the extension modes (e.g. c_mode.sl) to bind
% additional functions to
_Reserved_Key_Prefix = "^E"; % Extended functionality :-)
% ESC (unfortunately, some special keys return "\e\e<something>")
% see USAGE at top for workaround
setkey ("cua_escape_cmd", "\e\e\e"); % Triple-Esc -> abort
definekey ("exit_menubar", "\e\e\e", "menu"); % close menus
% Function keys
setkey("menu_select_menu(\"Global.&Help\")", Key_F1);
%setkey("context_help", Key_Shift_F1); % with hyperhelp mode
setkey("cua_save_buffer", Key_F2);
setkey("write_buffer", Key_Shift_F2); % save as
setkey("repeat_search", Key_F3);
% setkey("menu_select_menu(\"Global.&Search\")", Key_F3); % open Search menu
% The "named" keys
setkey("backward_delete_char_untabify", Key_BS);
setkey("delete_char_cmd", Key_Del);
setkey("toggle_overwrite", Key_Ins);
setkey("beg_of_line", Key_Home);
setkey("eol_cmd", Key_End);
setkey("page_up", Key_PgUp);
setkey("page_down", Key_PgDn);
setkey("cua_bdelete_word", Key_Ctrl_BS);
setkey("cua_delete_word", Key_Ctrl_Del);
setkey("beg_of_buffer", Key_Ctrl_Home);
setkey("eob; recenter(window_info('r'));", Key_Ctrl_End);
setkey("bskip_word", Key_Ctrl_Left);
setkey("skip_word", Key_Ctrl_Right);
setkey("forward_paragraph", Key_Ctrl_Up);
setkey("backward_paragraph", Key_Ctrl_Down);
%setkey("pop_mark(0)", Key_Ctrl_Up);
%setkey("push_mark", Key_Ctrl_Down); % define region
% The Control Chars
unset_ctrl_keys(); % unset to get a clear start
#ifdef UNIX
enable_flow_control(0); %turns off ^S/^Q processing (Unix only)
#endif
setkey("mark_buffer", "^A"); % mark All
%setkey("dabbrev", "^A"); % abbreviation expansion
%setkey("format_paragraph", "^B"); % (ide default)
setkey("smart_set_mark_cmd", "^B"); % Begin region
setkey("yp_copy_region_as_kill","^C"); % Copy (cua default)
set_abort_char(0x04); % "logout"
% ^E == _Reserved_Key_Prefix Extra functionality
% ^F map: Find
setkey("search_backward", "^FB");
setkey("isearch_backward", "^F^B");
setkey("toggle_case_search", "^FC");
setkey("re_search_forward", "^FE"); % rEgexp search
setkey("search_forward", "^FF");
setkey("isearch_forward", "^F^F");
setkey("re_search_backward", "^FG");
setkey("isearch_forward", "^FI"); % Incremental search
setkey("occur", "^FO"); % find all Occurences
setkey("query_replace_match", "^FP"); % regexp rePlace
setkey("replace_cmd", "^FR");
setkey("goto_line_cmd", "^G"); % Goto line
% set_abort_char(''); % Jed Default, now on ^D
% ^H map: Help ...
setkey("apropos", "^HA");
setkey("describe_function", "^HF");
setkey("help", "^HH");
setkey("info_reader", "^HI");
setkey("showkey", "^HK");
setkey("describe_mode", "^HM");
setkey ("unix_man", "^HU");
setkey("describe_variable", "^HV");
setkey("where_is", "^HW");
setkey("select_menubar", "^H?");
setkey("indent_region_or_line", "^I"); % Key_Tab: indent_line
% setkey("self_insert_cmd", "^I");
% setkey("", "^J"); % Free!
setkey("del_eol", "^K"); % Kill line
setkey("cua_repeat_search", "^L");
% ^M = Key_Return
setkey("next_buffer", "^N"); % Next buffer
setkey("find_file", "^O"); % Open file (cua default)
%setkey ("print_buffer", "^P"); % Print (with print.sl)
%setkey("exit_with_query", "^Q"); % Quit (ask for confirmation)
setkey("exit_jed", "^Q"); % Quit (without asking)
% ^R: Rectangles
setkey("copy_rect", "^RC");
setkey("insert_rect", "^RV");
setkey("kill_rect", "^RX"); % delete and copy to rect-buffer
setkey("open_rect", "^R "); % ^R Space: insert whitespace
setkey("blank_rect", "^RY"); % delete (replace with spaces)
setkey("blank_rect", "^R" + Key_Del);
setkey("cua_save_buffer", "^S"); % Save
%setkey("transpose_chars", "^T");
% ^T % still free
setkey("yp_yank", "^V"); % insert/paste
setkey("delbuf(whatbuf)", "^W");
setkey("yp_kill_region", "^X"); % cut
setkey("redo", "^Y");
setkey("undo", "^Z");
runhooks ("keybindings_hook", "cua"); % eventual modifications
% --- menu additions --------------------------------------------------
private define cua_load_popup_hook (menubar)
{
menu_delete_item ("Global.&File.&Close");
menu_insert_item("&Save", "Global.&File", "&Close", "delbuf(whatbuf)");
if(strlen(expand_jedlib_file("print.sl"))) % non standard mode
{
menu_insert_item("Canc&el Operation", "Global.&File", "&Print",
"print_buffer");
menu_insert_separator("Canc&el Operation", "Global.&File");
}
menu_insert_item (3, "Global.&Search",
"&Incremental Search Forward", "isearch_forward");
menu_insert_item (4, "Global.&Search",
"I&ncremental Search Backward", "isearch_backward");
menu_insert_item ("&Replace", "Global.&Search",
"Toggle &Case Search", "toggle_case_search");
menu_insert_separator ("&Replace", "Global.&Search");
}
append_to_hook ("load_popup_hooks", &cua_load_popup_hook);
% signal the success in loading the cua emulation:
_Jed_Emulation = "cua";
|