replacing ^M with emacs
Jerry McAllister
jerrymc at msu.edu
Sun Oct 29 01:12:19 UTC 2006
On Sun, Oct 29, 2006 at 11:30:45AM +1030, Malcolm Kay wrote:
> On Sat, 28 Oct 2006 12:27 pm, Noah wrote:
> > well I am pressing control-J for return not control-M so I
> > dont understand your rationale.
> >
>
> There seems to be considerable confusion in this thread between
> keystrokes and the codes they produce.
>
> Most modern keyboards report some form of scan code for each key
> pressed whether or not it is one of the modifier or special
> keys. At this stage there is no connection between the key or
> key combination pressed and an ASCII code.
The original post talked about the characters in a text file - most
particularly the ^M and I responded to that and not to anything about
keyboard codes. Generally, regardless of what scan codes the machine
generates with keypresses, a text editor still puts certain codes in
the text file, essentially according to the ASCII character set. Now
a wordprocessor file or a WYSIWYG or a GUI system uses a much more
extended set of character codes and representations and action codes.
But, that wasn't the orginal post topic.
////jerry
>
> What an application sees in terms of codes depends on the OS and
> anything else that may get in between. We mostly think of keys
> and key combinations as being connected to the the codes seen by
> an ordinary console application, but this can vary according to
> the OS.
>
> With a standard setup running X applications with a graphics
> interface are able to see all keys translated to some form of
> symbol code (some sort of a super set of ASCII including codes
> for special keys) which can be customised with xmodmap.
>
> Character mode programs under X through some terminal emulation
> window will see codes (usually ASCII) as further translated by
> that terminal emulator. I find that by default xterm reports ^M
> on pressing the "enter/return" key but this can further
> customised through XTerm or .Xdefaults. A basic key is generally
> combined with the currently active modifier keys(shift,ctrl,alt,
> etc) to produce the code reported to the application. Other keys
> such as function keys might be reported as a sequence of codes.
>
> Utilities and applications may manage codes differently when they
> recognise the source as the keyboard so for example Ctrl-J,
> Ctrl-M and "enter" from the keyboard are all reported by "cat"
> as ^J.
>
> Malcolm
>
>
> > Jerry McAllister wrote:
> > >> Thanks Peter,
> > >>
> > >> where is the logic here? What is control-q for and what is
> > >> control-j for? I am trying to figure out how I could have
> > >> figured that out.
> > >
> > > They are ASCII characters. For example, the ^M you wanted
> > > to get rid of is CTRL-M. There are ASCII tables in
> > > various places. A quick search should turn up a few. The
> > > assignment of the characters are ancient and traditional and
> > > somewhat weird by how things are currently used, but will
> > > probably continue to stay that way.
> > >
> > > Line-Feed, for example - which is that character that marks
> > > the end of a line in text files, means it causes the printer
> > > to move the paper up one line - in old line printers and
> > > teletypes. CTRL-M or ^M is a RETURN (also ENTER nowdays)
> > > and that caused the print head to return to the beginning of
> > > the line. By the time UNIX came along, it wasn't necessary
> > > to use both characters to move the paper and print head
> > > because those were virtual. So, they just used one
> > > character - the line feed. But, MS-DOS and some others
> > > continued to use the pair to mean a new line for some reason
> > > - maybe the original association with IBM, although they
> > > didn't use ASCII, but EBCDIC - another animal.
> > >
> > > So, look up an ASCII chart with explanations and you can
> > > make an educated guess on the meanings.
> > >
> > > ////jerry
> > >
> > >> also is there a better page than the one I am using below
> > >> to figure all these keystrokes out?
> > >>
> > >> http://www.math.uh.edu/~bgb/emacs_keys.html
> > >>
> > >> Cheers,
> > >>
> > >> Noah
> > >>
> > >> Peter A. Giessel wrote:
> > >>> On 2006/10/27 15:20, Noah seems to have typed:
> > >>>> this is the best answer. Hits it right on the head of
> > >>>> what I want. What if I want the character to replace the
> > >>>> ^M with a new line what do I enter in the replace field?
> > >>>
> > >>> control-q control-j
> > >>
> > >> _______________________________________________
> > >> freebsd-questions at freebsd.org mailing list
> > >> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> > >> To unsubscribe, send any mail to
> > >> "freebsd-questions-unsubscribe at freebsd.org"
> >
> > _______________________________________________
> > freebsd-questions at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> > To unsubscribe, send any mail to
> > "freebsd-questions-unsubscribe at freebsd.org"
More information about the freebsd-questions
mailing list