¡Esta es una revisión vieja del documento!
%% Archivo de configuración ~/.jedrc
%% El signo porcentaje es un comentario.
%% (Elimine dicho signo para activar una función)
% Este archivo se divide en varias secciones. La primer sección
% consiste las asignaciones de teclas (ej, Wordstar, Emacs, EDT,
% etc...) y las siguientes secciones corresponden a las preferencias
% de usuarios como tamaño de tabulaciones por defecto, números de
% línea y columna en la línea de status, colores, estilo de indentado,
% etc...
if (BATCH == 0)
{
%----------------------------------------------------------------------
% Asignaciones de teclas (no se cargan para proceso en lotes).
%
% Las asignaciones de teclas en Unix y VMS es estilo Emacs con
% emulación ET. Para PC sólo se activa por defecto Emacs. Si no
% desea las asignaciones tipo EDT, simplemente descomente la línea
% apropiada.
%
% Para asignaciones de teclas similares a Wordstar, comente las
% líneas EDT y Emacs y descomente la línea Worstar. Una declaración
% similar aplica para BRIEF, y para las asignacionesa similares a
% Borland IDE.
%
% () = evalfile("emacs"); % Asignaciones tipo Emacs
% () = evalfile("edt"); % Emulación EDT
% () = evalfile ("ide"); % Borland IDE (ver doc/ide-mode.txt)
% () = evalfile ("brief"); % Asignaciones Brief (sólo en MSDOS!!)
% () = evalfile("wordstar"); % obsoleto --- usar ide en su lugar)
% () = evalfile ("cua"); % CUA-like key bindings
% Note: For EDT emulation, jed386.exe requires that the GOLD.COM TSR
% be loaded. This TSR is available from space.mit.edu:/pub/davis/jed.
% Algunas de las emulaciones superiores pueden entrar en conflicto con
% la tecla de acceso a las barras de menú. Por ejemplo, emacs usa ESC-f
% para moverse a palabras. La siguiente línea provoca que las teclas
% activen los menús. Comente la siguiente línea para preservar la
% emulación:
enable_menu_keys ();
% Si usa jed dentro de xterm, puede usar el mouse para acceder a los
% menús y mover el curssor descomentando la siguiente línea:
% enable_xmouse ();
% Qué debería hacer Ctrl-H??
%
% setkey ("bol", "^H"); % ^H va al principio de línea (EDT)
% setkey ("help_prefix", "^H"); % Descomentar para que Ctrl+H sea ayuda.
#ifdef XWINDOWS
% See xjed.txt for information regarding the delete key under X Windows.
% x_set_keysym (0xFFFF, 0, "\e[3~");
% setkey ("delete_char_cmd", "\e[3~");
#endif
% ATENCION: Problemas de control de flujo con ^S/^Q
% Si experimenta problemas con que JED pasa a modo bñusqueda por
% alguna razón, entonces es víctima del atajo estilo Emacs de la
% tecla ^S asignado a la función de b{usqueda. PARA IMPEDIR esto, o
% descubra como impedir caracteres ^S/^Q no deseados, o descomente la
% siguiente línea:
#ifdef UNIX
%enable_flow_control (1);
#endif
%----------------------------------------------------------------------
% Pantalla de ayuda inicial --- descomentar para desactivar.
% Para que la pantalla de ayuda sea válida, debe ocurrir DESPUES de cargar
% Los ajustes de teclas.
% help(); % Presenta una ventana de ayuda
} %Batch
%%%%%%%%%%%%%%%% Barra superior de menu %%%%%%%%%%%%%%%
% Para desactivarla, descomente la siguiente línea (los menús estarán
% disponibles pero la barra desaparecerá cuando no está en uso).
% enable_top_status_line (0);
%---------------------------------------------------------------------------
% Información del Usuario (usado en algunos modos, determinada
% automáticamente en Unix)
%---------------------------------------------------------------------------
% set_realname ("Fulana Mengana");
% set_username ("fulana");
% set_hostname ("texto-plano.xyz");
% set_emailaddress ("fulana@texto-plano.xyz");
%----------------------------------------------------------------------
% Variables Globales de JED -- Se muiestran aquellas por defecto.
%
#ifdef VMS UNIX
%USE_ANSI_COLORS = 1; % if non-zero, JED will display colors on a color
% terminal (Unix and VMS only) See doc/color.txt
% for more discussion and look below for setting
% the colors.
#endif
No_Backups = 0; % Si no es zero, no se crean archivos de respaldo.
Startup_With_File = 1; % if greater then zero, force JED to prompt for a file
% if none is specified on the command line. If
% negative, inhibit startup message.
DISPLAY_TIME = 1; % no cero activa mostrar hora en línea de status.
% cero la desactiva. Si es -1 muestra hora en
% formato 24H.
HIGHLIGHT = 1; % no cero para resaltar región de texto.
WANT_SYNTAX_HIGHLIGHT = 1;
% Resalta sintaxis en modos C, Fortran, y TeX modes.
% Ver sección Colores
% below for choosing how to highlight. On Unix and
% VMS systems, USE_ANSI_COLORS must also be non-zero.
HORIZONTAL_PAN = 20; % if zero, no automatic panning. If positive, only
% the current line is panned. If negative, pan window.
#ifdef IBMPC_SYSTEM
HORIZONTAL_PAN = -1; % For msdos, panning window might be better:
#endif
#ifdef IBMPC_SYSTEM
LINENUMBERS = 2; % 0 NO muestra números de línea
#else % status line line. 1, muestra nro. de línea
LINENUMBERS = 1; % Un valor mayor de 1 también muestra nro. de línea
#endif % Recomiendo valor de 2 solo con baudios altos.
BLINK = 1; % if non zero, blink matching parenthesis
TAB_DEFAULT = 4; % Tab size (also try edit_tab_stops)
USE_TABS = 1; % Use tabs when generating whitespace.
TAB = 4;
Tab_Always_Inserts_Tab = 0; % Set this to 1 if you want the tab key to insert
% tabs.
_Jed_Default_Color_Scheme = "black3";
WRAP_DEFAULT = 2000; % wrap column
ADD_NEWLINE = 1; % add newline to file when writing if one not present
IGNORE_BEEP = 3; % Beep terminal during error messages---
% 1 == sound only, 2 = visible bell only, 3 = both
_traceback = 0; % Non zero means dump traceback on S-Lang errors
WRAP_INDENTS = 0; % Non zero indents next line after wrapping current.
% Make this a 1 if you want indented text mode.
%KILL_LINE_FEATURE = 0;
% If non-zero, kill line will kill through end of the
% line if Point is at the beginning of the line. For
% emacs-like behavior, set this to zero.
%---------------------------------------------------------------------------
% Estilo de Indentado en Modo C
%---------------------------------------------------------------------------
c_set_style ("linux"); % o "linux", "gnu", "bsd", "k&r"
#ifdef IBMPC_SYSTEM
% SI no es cero, trata los nombres de archivo como sensibles a mayúsulas.
Case_Sensitive_Filenames = 1;
#endif
%---------------------------------------------------------------------------
#ifdef MSDOS XWINDOWS MSWINDOWS
% Alt-key handling. Setting this variable controls how the
% Alt key is handled. By default it is set to 27 (Ascii ESCAPE). This means
% that any key pressed in conjunction with the alt key produces ESCAPE
% followed by the key itself. If ALT-X is pressed, an ESCAPE-X is generated.
% Set it to zero to turn off Alt key processing. On XWindow systems, setting
% this to zero will cause the high bit to be set on the character.
%ALT_CHAR = 27;
#endif
% Teclas mudas (muertas o acento)
% Las teclas Mudas válidas son:
% ^, ~, ', `, \d168 (ISO Diaeresis), \d180 (ISO Acute), y \".
% Esto significa presionar esta tecla y luego la tecla que decea
% acentuar para generar el caracter acentuado. Si no sabe qué hacer
% con esto, no lo necesita. Por defecto, están apagadas.
%mute_set_mute_keys (" ^ ~ ' ` \d168 \d180 \" "); % elije todas o un
% subconjunto.
META_CHAR = -1; % Todos los caracteres con un bit alto se autoinsertan.
#ifdef IBMPC_SYSTEM
% DISPLAY_EIGHT_BIT = 128;
#else
% DISPLAY_EIGHT_BIT = 160; % Otros sistemas asumen ISO Latin 1
#endif
% Configuración de color.
% Ver en jed/lib/colors/README una descripción de los esquemas predefinidos.
%set_color_scheme ("black3");
%set_color_scheme ("blue2");
#ifdef UNIX
%
% Tipo de Terminal. Por defecto, se usa Unix termcap. Sin embargo,
% algunos (si no todos) los termcaps no incluyen cadenas AL, DL para
% las terminales DEC VTxxx.
%
% Las terminales VT100 verdaderas no pueden insertar y borrar líneas,
% de modo que las entradas AL y DL de termcap no resultan apropiadas
% para ellas. Sin embargo, casi nadie usa un terminal VT100 verdadero
% hoy en día, sino que configuran su variable TERM para VT100. Si no le
% gusta la manera en la que se desplaza su terminal, o tiene un modelo
% más avanzado que una VT100, o configure su variable TERM a una
% terminal apropiada, o agregue vt100 al listado de abajo.
%
if (0)
{
$1 = "vt102 vt200 vt220 vt300 vt320 vt420 xterms";
if (is_substr($1, getenv("TERM"))) set_term_vtxxx(0);
}
#endif
% Interfaz del compilador --- descomentar uno de los siguientes
%
% variable Compile_Default_Compiler = "gcc"; % GNU compiler
% variable Compile_Default_Compiler = "Ultrix_cc"; % cc on Ultrix
% variable Compile_Default_Compiler = "bcc"; % Borlands BCC
% variable Compile_Default_Compiler = "sun_acc"; % SunOS C++ and ACC
% variable Compile_Default_Compiler = "hp_cc"; % HPUX cc
#ifdef WIN32
variable W32shell_Perform_Globbing = 0;
#endif
%
% Hooks: leer jed/doc/hooks.sl para mayor información
%
define global_mode_hook (hook_name)
{
% if (hook_name != "c_mode_hook")
% local_setkey ("self_insert_cmd", "\t");
}
define dired_hook ()
{
%local_unsetkey ("^K");
%local_setkey ("dired_kill_line", "^K");
}
%% ========================= definido por peron =============================
() = evalfile("emacs");
enable_top_status_line(0);
auto_compression_mode(1);
unsetkey("\ef");
setkey("skip_word", "\ef");
unsetkey("\eb");
setkey("bskip_word", "\eb");
unsetkey("\ee");
setkey("eol_cmd", "\ee");
unsetkey("\ea");
setkey("beg_of_line", "\ea");
unsetkey("\ei");
unsetkey("\es");
unsetkey("\eu");
unsetkey("^H");
unsetkey("`");
setkey("self_insert_cmd", "`");
unsetkey("^K");
setkey("push_spot();bol();push_mark();down_1();yp_copy_region_as_kill();pop_spot();delete_line();", "^K");
%setkey("bol();if(eolp()==0)emacs_yp_kill_line();emacs_yp_kill_line();", "^K");
unsetkey("^J");
setkey("emacs_yp_kill_line();", "^J");
unsetkey("^V");
setkey("yp_yank();", "^V");
setkey("beg_of_line", "\eOH");
setkey("eol_cmd", "\eOF");
setkey("bufed()", "^Z");
setkey("dired()", "^X^Z");
setkey("smart_set_mark_cmd", "^Q");
setkey("one_window", "\el");
define backspaces ()
{
variable n;
n = TAB_DEFAULT;
loop (n) {
n--;
if (what_column() - 1 > 0) call("backward_delete_char_untabify");
}
}
setkey ("backspaces()", "^H");
define my_indent_region_or_line(dir)
{
variable col = 0;
variable end_block = 0;
!if(is_visible_mark())
{
bol_skip_white();
col = what_column() - 1;
bol_trim ();
whitespace( col + dir * TAB_DEFAULT );
return;
}
% narrow() no funciona, ya que indent_line() necesita el contexto!
check_region(0); % asegura que la marca venta primero
variable end_line = what_line();
dupmark();
pop_mark_1(); % go there
loop (end_line - what_line() + 1)
{
bol_skip_white();
col = what_column() - 1;
bol_trim ();
whitespace( col + dir * TAB_DEFAULT );
go_down_1();
}
push_spot();
pop_mark_1();
push_visible_mark();
pop_spot();
go_up_1();
}
setkey ("my_indent_region_or_line(1)", "^I");
setkey ("my_indent_region_or_line(-1)", "^U");
setkey ("insert_char('\t')", "\ei");
setkey ("my_indent_region_or_line(1)", "^]");
%setkey ("my_indent_region_or_line(-1)", "^(");
%
% Conmuta al buffer previo o siguiente
% Este código se originó en ide_next_buffer() en ide.sl.
%
define next_buffer (previous)
{
variable n, buf;
n = buffer_list (); % obtiene los buffers en la pila
if (previous)
{
_stk_reverse (n-1);
}
loop (n) {
buf = ();
n--;
% Saltea *scratch* y otros buffers que no sean de interés.
if ((buf[0] == '*') or (buf[0] == ' '))
{
continue;
}
sw2buf (buf);
_pop_n (n);
return;
}
}
% Bind Alt-. and Alt-, (Meta-period and Meta-comma) to next_buffer().
setkey ("next_buffer (0)", "\eq");
%setkey ("next_buffer (1)", "\ea");
%% ====================================
autoload("get_word", "txtutils");
define search_current_word(direction)
{
variable word;
variable mark;
variable result;
variable s1;
mark = create_user_mark();
skip_word();
bskip_word();
word = get_word();
if (direction == 1)
{
while (1)
{
go_right_1();
result = fsearch(word);
if (result == 0)
{
break;
}
% Busca de nuevo si la palabra es una subcadena de una palabra
% mas larga.
s1 = get_word();
!if (strcmp(s1, word))
{
break;
}
}
}
else
{
while (1)
{
result = bsearch(word);
if (result == 0)
{
break;
}
% Busca de nuevo si la palabra es una subcadena de una palabra
% mas larga.
s1 = get_word();
!if (strcmp(s1, word))
{
break;
}
}
}
if (result == 0)
{
goto_user_mark(mark);
message(word + " not found");
}
}
% Asigna Alt-z+Alt-coma (alt-z y luego alt-comma) y Alt-z+Alt-punto.
setkey ("search_current_word(-1)", "\e&");
setkey ("search_current_word(1)", "\e*");
define_word("_A-Za-z0-9");
%% ====================================
autoload("yp_copy_region_as_kill", "yankpop");
autoload("mark_word", "txtutils");
define copy_word_as_kill()
{
variable s1;
push_spot();
mark_word();
() = dupmark();
s1 = bufsubstr();
yp_copy_region_as_kill();
pop_spot();
message("\"" + s1 + "\" copied to kill ring");
}
define copy_line_as_kill()
{
variable s1;
push_spot();
bol();
set_mark_cmd();
down(1);
yp_copy_region_as_kill();
pop_spot();
message("line copied to kill ring");
}
define duplicate_line()
{
variable col;
push_spot();
col = what_column();
bol();
push_mark();
down_1();
yp_copy_region_as_kill();
yp_yank();
pop_spot();
down_1();
goto_column(col);
}
unsetkey("\ec");
setkey ("copy_word_as_kill()", "\ecw");
setkey ("copy_line_as_kill()", "\ecl");
setkey("duplicate_line", "\ecd");
