unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Xah <xahlee@gmail.com>
Cc: help-gnu-emacs@gnu.org
Subject: Emacs command frequencies:  [was: emacs-w3m question]
Date: Tue, 11 Nov 2008 21:46:21 +0000	[thread overview]
Message-ID: <20081111214621.GB1459@muc.de> (raw)
In-Reply-To: <7a377b0d-9a02-4cd9-947a-8f04676fad8c@z28g2000prd.googlegroups.com>

[-- Attachment #1: Type: text/plain, Size: 2133 bytes --]

Hi, Xah!

On Mon, Nov 10, 2008 at 02:38:24PM -0800, Xah wrote:

> also note, when i did research on emacs command frequency, one
> surprising result is that a programer types shortcuts more than he
> actually type letters.

Not _quite_ true from my afternoon session!  See below, or the attached
file.  I was into a heavy edebugging session (the utility recorded hardly
any of these commands; presumably, edebug nullified the hook, somehow),
and writing a log of this activity at the same time.

However, I used frame switching commands 114 times, putting them into
fifth place.  This quite surprised me.

> Of my Emacs Commands Frequency study, 37% of key strokes involves data
> entry (that is, calling the commands ???self-insert-command??? and
> ???newline??? (pressing return), while the rest 63% are calling all other
> commands. This seems counter-intuitive, because one might think typing
> should probably be the bulk of activity and moving cursor and deleting
> text or other commands are only done few times per minute.

You should perhaps include `newline-and-indent' (C-j) in this category
too.

> If we consider commands invoked by the Backspace key as data entry
> too, then 40% are data entry, while 60% are editing commands. Still
> surprising. Going one step further, if we consider the next group of
> most used commands of moving the cursor by the smallest unit (i.e.
> previous-line (C-p), next-line (C-n), backward-char (C-b), forward-
> char (C-f) (also invoked by the arrow keys)) as part of data entry,
> then, 64% are ???data entry??? and 36% are other command calls.

> This data suggests that better shortcut placement is more important
> than better placement of letter keys for programing.

> »
> --------------------

> if you are interested to find out your own pattern of emacs command
> use, you can try the lisp file at the bottom of this page:

> http://xahlee.org/emacs/command-frequency.html

> If you can send me your result, that'll be great.

> Alan, you are very welcome to send me your result too.

Thanks!  Please see the attached file.

>   Xah

-- 
Alan Mackenzie (Nuremberg, Germany).


[-- Attachment #2: Alan_Mackenzie_command-frequencies.txt --]
[-- Type: text/plain, Size: 4206 bytes --]

   1680   53.00%  self-insert-command
    256    8.08%  forward-char
    182    5.74%  next-line
    140    4.42%  previous-line
     89    2.81%  backward-char
     43    1.36%  scrolldown-6n
     42    1.32%  delete-backward-char
     38    1.20%  backward-kill-word
     38    1.20%  (lambda nil Switch to frame F2 (interactive) (select-frame-acm-no 1))
     37    1.17%  previous-history-element
     36    1.14%  c-show-syntactic-information
     32    1.01%  (lambda nil Switch to frame F3 (interactive) (select-frame-acm-no 2))
     31    0.98%  minibuffer-complete
     29    0.91%  (lambda nil Switch to frame F1 (interactive) (select-frame-acm-no 0))
     25    0.79%  isearch-printing-char
     23    0.73%  scrollup-6n
     21    0.66%  execute-extended-command
     18    0.57%  previous-line-6n
     18    0.57%  newline
     17    0.54%  delete-char
     16    0.50%  forward-word
     16    0.50%  new-para-paren-list-o
     15    0.47%  set-mark-command
     15    0.47%  end-of-line
     13    0.41%  acm-text-mode-fixme
     12    0.38%  other-window
     12    0.38%  switch-to-buffer
     11    0.35%  scroll-down
     11    0.35%  save-buffer
     11    0.35%  next-line-6n
     10    0.32%  top-level
     10    0.32%  imenu
     10    0.32%  eval-expression
     10    0.32%  kill-buffer
      8    0.25%  find-alternate-file
      8    0.25%  kill-line
      8    0.25%  fill-paragraph
      8    0.25%  isearch-repeat-forward
      7    0.22%  isearch-repeat-backward
      7    0.22%  undo
      6    0.19%  do-one-test
      6    0.19%  occur
      6    0.19%  load-cc-version
      5    0.16%  back-to-indentation
      4    0.13%  goto-line
      4    0.13%  find-file-other-window
      4    0.13%  (lambda nil Switch to frame F5 (interactive) (select-frame-acm-no 4))
      4    0.13%  scrollup-n
      4    0.13%  compile-defun
      4    0.13%  (lambda nil Switch to frame F4 (interactive) (select-frame-acm-no 3))
      4    0.13%  eval-defun
      4    0.13%  edebug-continue-mode
      4    0.13%  emphasise-line
      4    0.13%  switch-to-buffer-other-window
      4    0.13%  yank
      4    0.13%  end-of-buffer
      3    0.09%  widen
      3    0.09%  narrow-to-defun
      3    0.09%  lisp-complete-symbol
      3    0.09%  c++-mode
      3    0.09%  delete-other-windows
      3    0.09%  isearch-delete-char
      3    0.09%  kill-ring-save
      2    0.06%  ediff-buffers
      2    0.06%  next-history-element
      2    0.06%  defun-name
      2    0.06%  (lambda nil Switch to frame F8 (interactive) (select-frame-acm-no 7))
      2    0.06%  (lambda nil Switch to frame F7 (interactive) (select-frame-acm-no 6))
      2    0.06%  (lambda nil Switch to frame F6 (interactive) (select-frame-acm-no 5))
      2    0.06%  kill-sentence
      2    0.06%  load-file
      2    0.06%  byte-compile-file
      2    0.06%  lisp-indent-line
      2    0.06%  backward-word
      2    0.06%  kill-word
      2    0.06%  next-error
      2    0.06%  isearch-other-meta-char
      2    0.06%  isearch-forward
      2    0.06%  edebug-goto-here
      2    0.06%  move-beginning-of-line
      2    0.06%  mark-sexp
      2    0.06%  acm-text-mode-back-to-bug-label
      1    0.03%  (lambda nil Switch to frame F9 (interactive) (select-frame-acm-no 8))
      1    0.03%  ediff-quit
      1    0.03%  minibuffer-complete-and-exit
      1    0.03%  beginning-of-defun
      1    0.03%  scroll-up
      1    0.03%  narrow-to-region
      1    0.03%  move-end-of-line
      1    0.03%  exchange-point-and-mark
      1    0.03%  delete-blank-lines
      1    0.03%  kill-paragraph
      1    0.03%  c-version
      1    0.03%  isearch-yank-word-or-char
      1    0.03%  isearch-backward
      1    0.03%  ignore
      1    0.03%  delete-horizontal-space
      1    0.03%  backward-kill-sexp
      1    0.03%  toggle-read-only
      1    0.03%  kill-sexp
      1    0.03%  eval-buffer
      1    0.03%  Info-nth-menu-item
      1    0.03%  Info-follow-nearest-node
      1    0.03%  isearch-exit
      1    0.03%  beginning-of-buffer
      1    0.03%  just-one-space
      1    0.03%  list-buffers
      1    0.03%  beginning-of-line
      1    0.03%  command-frequency-mode

  reply	other threads:[~2008-11-11 21:46 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-27 20:45 emacs-w3m question Francis Moreau
2008-10-27 21:09 ` henry atting
2008-10-27 21:36   ` Richard Riley
2008-10-28 18:40     ` Xah
2008-10-30 21:25       ` Xavier Maillard
2008-10-30 22:16         ` Paul R
2008-11-01  7:25           ` Xavier Maillard
2008-11-01 12:59             ` Paul R
     [not found]           ` <mailman.2625.1225539334.25473.help-gnu-emacs@gnu.org>
2008-11-01 15:51             ` Richard Riley
2008-11-03 11:25               ` Xavier Maillard
2008-11-03 12:13                 ` Richard Riley
2008-11-03 23:25                   ` Xavier Maillard
     [not found]                   ` <mailman.2907.1225862955.25473.help-gnu-emacs@gnu.org>
2008-11-05 13:23                     ` Xah
     [not found]       ` <mailman.2522.1225402310.25473.help-gnu-emacs@gnu.org>
2008-10-30 22:38         ` Xah
2008-11-03 11:25           ` Xavier Maillard
2008-11-03 12:36             ` Paul R
2008-11-03 23:25               ` Xavier Maillard
     [not found]             ` <mailman.2772.1225715774.25473.help-gnu-emacs@gnu.org>
2008-11-03 13:27               ` Richard Riley
2008-11-04 13:19                 ` Chris McMahan
2008-11-04 14:19                   ` Richard Riley
2008-11-05  7:25                   ` Xavier Maillard
     [not found]           ` <mailman.2764.1225711684.25473.help-gnu-emacs@gnu.org>
     [not found]             ` <4d476218-bd76-4d41-8a12-1428dfba9e9b@s9g2000prg.googlegroups.com>
2008-11-05  7:25               ` Xavier Maillard
     [not found]               ` <mailman.2966.1225952942.25473.help-gnu-emacs@gnu.org>
2008-11-06 14:31                 ` Xah
2008-11-06 16:32                   ` Alan Mackenzie
2008-11-06 18:12                   ` Giorgos Keramidas
2008-11-07  1:22                     ` Xah
2008-11-07  3:50                       ` Giorgos Keramidas
2008-11-07  5:42                         ` Xah
2008-11-07  7:48                           ` Giorgos Keramidas
2008-11-07  8:07                             ` Xah
     [not found]                   ` <mailman.3000.1225988502.25473.help-gnu-emacs@gnu.org>
2008-11-07  1:01                     ` Xah
2008-11-07 10:04                       ` Alan Mackenzie
2008-11-07 10:29                         ` Paul R
2008-11-07 23:51                           ` Alan Mackenzie
2008-11-08  1:14                             ` Lennart Borgman
2008-11-10 21:25                           ` Xavier Maillard
2008-11-10 21:25                         ` Xavier Maillard
     [not found]                       ` <mailman.3052.1226051600.25473.help-gnu-emacs@gnu.org>
2008-11-07 17:43                         ` Xah
2008-11-08 14:36                           ` Is there anyway to save workspace so that we don't have reopen 10s of files again ? Maindoor
2008-11-08 14:56                             ` Eli Zaretskii
2008-11-08 15:09                               ` Maindoor
2008-11-08 16:11                                 ` Peter Dyballa
2008-11-08 18:24                                 ` Saving registers (was: Is there anyway to save workspace so that we don't have reopen 10s of files again ?) Reiner Steib
2008-11-08 22:25                                 ` Is there anyway to save workspace so that we don't have reopen 10s of files again ? Juanma Barranquero
2008-11-06 18:02               ` emacs-w3m question Alan Mackenzie
2008-11-07  6:24                 ` Kevin Rodgers
     [not found]               ` <mailman.3010.1225993912.25473.help-gnu-emacs@gnu.org>
2008-11-06 20:02                 ` Rupert Swarbrick
2008-11-07  2:02                 ` Xah
2008-11-07 10:24                   ` Eli Zaretskii
2008-11-07 10:54                   ` Alan Mackenzie
     [not found]                   ` <mailman.3055.1226054611.25473.help-gnu-emacs@gnu.org>
2008-11-07 20:10                     ` Xah
2008-11-07 20:12                     ` How to make friends. [was emacs-w3m question] Xah
2008-11-07 20:17                     ` emacs is not Microsoft Word " Xah
2008-11-10 10:11                       ` emacs is not Microsoft Word David Kastrup
2008-11-08 18:57                     ` emacs-w3m question Rupert Swarbrick
2008-11-08 21:33                       ` Xah
2008-11-09  6:26               ` Wei Weng
2008-11-09  8:55                 ` Xah
2008-11-10 21:25                   ` Xavier Maillard
     [not found]                   ` <mailman.21.1226352538.26697.help-gnu-emacs@gnu.org>
2008-11-10 22:38                     ` Xah
2008-11-11 21:46                       ` Alan Mackenzie [this message]
2008-11-12  2:28                       ` Sean Sieger
     [not found]                       ` <mailman.106.1226439293.26697.help-gnu-emacs@gnu.org>
2008-11-12  4:19                         ` Emacs command frequencies: [was: emacs-w3m question] Xah
2008-11-12 11:28                           ` Emacs command frequencies: Nikolaj Schumacher
2008-11-12 11:45                             ` Paul R
     [not found]                           ` <mailman.129.1226489296.26697.help-gnu-emacs@gnu.org>
2008-11-12 12:52                             ` Sébastien Vauban
2008-11-12 15:59                               ` Ted Zlatanov
2008-11-13 14:33                               ` Xah
2008-11-13  4:07                             ` Xah
2008-11-12 16:50                           ` Emacs command frequencies: [was: emacs-w3m question] rgb
2008-11-13 12:47                             ` Xah
2008-11-14 14:28                               ` rgb
2008-11-01 13:03         ` emacs-w3m question Andreas Politz
2008-11-03 11:25           ` Xavier Maillard
     [not found]           ` <mailman.2763.1225711681.25473.help-gnu-emacs@gnu.org>
2008-11-06 16:51             ` Andreas Politz
2008-10-27 21:48 ` Andreas Politz
2008-10-28 10:50   ` Francis Moreau
2008-10-28 14:51   ` OtherMichael

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081111214621.GB1459@muc.de \
    --to=acm@muc.de \
    --cc=help-gnu-emacs@gnu.org \
    --cc=xahlee@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).