HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/share/jed/lib/brief.sl
% Brief editor emulation
% I do not think that this will work very well at all on non-IBMPC systems
% because of the heavy dependence on keys that are meaningless.
_Jed_Emulation = "brief";

% Since alt keys are used, make sure that they are enabled.
ALT_CHAR = 0;

set_status_line("(Jed %v) Brief: %b    (%m%a%n%o)  %p   %t", 1);
Help_File = Null_String;

define brief_home ()
{
   if (bolp ())
     {
	if (window_line () == 1) bob ();
	else goto_top_of_window ();
     }
   bol ();
}

define brief_end ()
{
   if (eolp ())
     {
	if (window_line () == window_info ('r')) eob ();
	else goto_bottom_of_window ();
     }
   eol ();
}

define brief_line_to_eow ()
{
   recenter (window_info ('r'));
}

define brief_line_to_bow ()
{
   recenter (1);
}

define brief_line_to_mow ()
{
   recenter (window_info ('r') / 2);
}

define brief_set_bkmrk_cmd (n)
{
   ungetkey (n + '0');
   bkmrk_set_mark ();
}

define brief_delete_to_bol ()
{
   push_mark ();
   bol();
   del_region ();
}

define brief_toggle_case_search ()
{
   CASE_SEARCH = not (CASE_SEARCH);
}

variable Brief_Regexp_Search = 0;
define brief_toggle_regexp ()
{
   Brief_Regexp_Search = not (Brief_Regexp_Search);
}

variable Brief_Search_Forward = 1;
define brief_search_cmd ()
{
   if (Brief_Search_Forward)
     {
	if (Brief_Regexp_Search) re_search_forward ();
	else search_forward ();
     }
   else
     {
	if (Brief_Regexp_Search) re_search_backward ();
	else search_backward ();
     }
}

define brief_reverse_search ()
{
   Brief_Search_Forward = not (Brief_Search_Forward);
   brief_search_cmd ();
}

define brief_line_mark ()
{
   bol ();
   set_mark_cmd ();
   eol ();
}

variable Brief_Use_Rectangle = 0;
define brief_yank ()
{
   if (Brief_Use_Rectangle)
     {
	insert_rect ();
     }
   else call ("yank");
}

define brief_copy_region ()
{
   if (Brief_Use_Rectangle)
     {
	copy_rect ();
     }
   else call ("copy_region");
}

define brief_kill_region ()
{
   if (Brief_Use_Rectangle)
     {
	kill_rect ();
     }
   else call ("kill_region");
}

define brief_delete ()
{
   if (markp ())
     {
        if (Brief_Use_Rectangle)
          {
	     kill_rect ();
          }
	else
	  {
	     del_region ();
          }
	return;
     }
   del ();
}

define brief_set_mark_cmd ()
{
   Brief_Use_Rectangle = 0;
   smart_set_mark_cmd ();
}

define brief_set_column_mark ()
{
   Brief_Use_Rectangle = 1;
   set_mark_cmd ();
   message ("Column mark set.");
}

unsetkey ("^K");
unsetkey ("^X");
unsetkey ("^W");
unsetkey ("^F");

%setkey ("bdelete_word", "^@");       %  Ctrl Bksp
setkey ("brief_home", "\xE0G");	       %  Home
setkey ("brief_home", "Ow");	       %  Home
setkey ("brief_end", "\xE0O");	       %  End
setkey ("brief_end", "Oq");	       %  End
setkey ("brief_line_to_bow", "^T");
setkey ("brief_line_to_mow", "^C");
setkey ("brief_line_to_eow", "^B");
setkey ("brief_delete","\xE0S");       %  Delete
setkey ("brief_delete","\xOn");        %  Delete
setkey ("undo", "\eOR");	       %  Keypad Star
setkey ("bskip_word", "\xE0s");	       %  Ctrl Left
setkey ("bskip_word", "^@s");	       %  Ctrl Left
setkey ("skip_word", "\xE0t");	       %  Ctrl Right
setkey ("skip_word", "^@t");	       %  Ctrl Right
setkey ("bob", "\xE0\d132");	       %  Ctrl Pgup
setkey ("bob", "^@\d132");	       %  Ctrl Pgup
setkey ("eob", "\xE0v");	       %  Ctrl Pgdn
setkey ("eob", "^@v");	       %  Ctrl Pgdn
setkey ("goto_top_of_window", "\xE0w");%  Ctrl Home
setkey ("goto_top_of_window", "^@w");%  Ctrl Home
setkey ("goto_bottom_of_window", "\xE0u");%  Ctrl End
setkey ("goto_bottom_of_window", "^@u");%  Ctrl End
setkey ("brief_yank", "\xE0R");	       %  Insert
setkey ("brief_yank", "Op");	       %  Insert
setkey ("brief_copy_region", "\eOm");	       % Keypad Plus
setkey ("brief_kill_region", "\eOS");	       % Keypad Minus
setkey ("find_file", "^@");	       %  Alt E
setkey ("help_prefix", "^@#");	       %  Alt H
setkey ("write_buffer", "^@");       %  Alt O
setkey ("save_buffer", "^@");	       %  Alt W
setkey ("exit_jed", "^@-");	       %  Alt X
setkey ("replace_cmd", "^@@");	       %  Key F6
setkey ("brief_search_cmd", "^@?");     %  Key F5
setkey ("brief_reverse_search", "^@l");    %  Alt F5
setkey ("brief_search_cmd", "^@X"); %  Shift F5
setkey ("brief_toggle_case_search", "^@b");%  Ctrl F5
setkey ("brief_toggle_regexp", "^@c"); %  Ctrl F6

setkey ("page_down", "^D");
setkey ("page_up", "^E");
setkey ("brief_delete_to_bol", "^K");
setkey ("isearch_forward", "^S");

setkey ("brief_set_mark_cmd", "^@");       %  Alt A
setkey ("list_buffers", "^@0");	       %  Alt B
setkey ("brief_set_column_mark", "^@.");%  Alt C
setkey ("delete_line", "^@ ");	       %  Alt D
setkey ("goto_line_cmd", "^@\"");      %  Alt G
setkey ("toggle_overwrite", "^@");   %  Alt I
setkey ("bkmrk_goto_mark", "^@$");     %  Alt J
setkey ("kill_line", "^@%");	       %  Alt K
setkey ("set_mark_cmd", "^@2");	       %  Alt M
setkey ("switch_to_buffer", "^@1");    %  Alt N
setkey ("insert_file", "^@");	       %  Alt R
setkey ("brief_search_cmd", "^@");  %  Alt S
setkey ("replace_cmd", "^@");	       %  Alt T
setkey ("undo", "^@");	       %  Alt U

setkey ("brief_line_mark", "^@&");    %  Alt L

setkey (". 0 brief_set_bkmrk_cmd", "^@\d129");%  Alt 0
setkey (". 1 brief_set_bkmrk_cmd", "^@x");%  Alt 1
setkey (". 2 brief_set_bkmrk_cmd", "^@y");%  Alt 2
setkey (". 3 brief_set_bkmrk_cmd", "^@z");%  Alt 3
setkey (". 4 brief_set_bkmrk_cmd", "^@{");%  Alt 4
setkey (". 5 brief_set_bkmrk_cmd", "^@|");%  Alt 5
setkey (". 6 brief_set_bkmrk_cmd", "^@}");%  Alt 6
setkey (". 7 brief_set_bkmrk_cmd", "^@~");%  Alt 7
setkey (". 8 brief_set_bkmrk_cmd", "^@");%  Alt 8
setkey (". 9 brief_set_bkmrk_cmd", "^@\d128");%  Alt 9
setkey ("delete_word", "^@");	       %  Alt Bksp
setkey ("goto_match", "^Q[");
setkey ("goto_match", "^Q\e");
setkey ("goto_match", "^Q]");
setkey ("goto_match", "^Q^]");

%  Not sure about this!!!
unsetkey ("\e\e");
setkey ("end_macro", "\e\e");

% These two cannot be bound.
%setkey ("scroll_left", "");             %  Shift End
%setkey ("scroll_right", "");             %  Shift Home

runhooks ("keybindings_hook", _Jed_Emulation);