def vieditable_init_listbox
      $log.debug " inside vieditable_init_listbox "
      @editable = true
      bind_key( ?C, :edit_line)
      bind_key( ?o) { insert_line(@current_index+1) } 
      bind_key( ?O) { insert_line(@current_index) } 
      bind_key( [?d, ?d] , :delete_line ) 
      bind_key( ?\C-_ ) { @undo_handler.undo if @undo_handler }
      bind_key( ?u ) { @undo_handler.undo if @undo_handler }
      bind_key( ?\C-r ) { @undo_handler.redo if @undo_handler }
      bind_key( [?y, ?y] , :kill_ring_save ) 
      bind_key( ?p, :yank ) # paste after this line
      #bind_key( ?P ) { yank(@current_index - 1) } # should be before this line
      # seems -1 was pasting 2 lines before
      bind_key( ?P ) { yank(@current_index - 0) } # should be before this line
      bind_key(?w, :forward_word)
      bind_key(?\M-y, :yank_pop)
      bind_key(?\C-y, :yank)
      bind_key(?\M-w, :kill_ring_save)
      @_events.push :CHANGE # thru vieditable
      #bind_key( ?D, :delete_eol)
      #bind_key( [?d, ?$], :delete_eol)
      #bind_key(?f, :forward_char)
      #bind_key( ?x, :delete_curr_char )
      #bind_key( ?X, :delete_prev_char )
      #bind_key( [?d, ?w], :delete_word )
      #bind_key( [?d, ?t], :delete_till )
      #bind_key( [?d, ?f], :delete_forward )

    end
def vieditable_init_listbox
      $log.debug " inside vieditable_init_listbox "
      @editable = true
      bind_key( ?C, :edit_line)
      bind_key( ?o) { insert_line(@current_index+1) } 
      bind_key( ?O) { insert_line(@current_index) } 
      bind_key( [?d, ?d] , :delete_line ) 
      bind_key( ?\C-_ ) { @undo_handler.undo if @undo_handler }
      bind_key( ?u ) { @undo_handler.undo if @undo_handler }
      bind_key( ?\C-r ) { @undo_handler.redo if @undo_handler }
      bind_key( [?y, ?y] , :kill_ring_save ) 
      bind_key( ?p, :yank ) # paste after this line
      #bind_key( ?P ) { yank(@current_index - 1) } # should be before this line
      # seems -1 was pasting 2 lines before
      bind_key( ?P ) { yank(@current_index - 0) } # should be before this line
      bind_key(?w, :forward_word)
      bind_key(?\M-y, :yank_pop)
      bind_key(?\C-y, :yank)
      bind_key(?\M-w, :kill_ring_save)
      @_events.push :CHANGE # thru vieditable
      #bind_key( ?D, :delete_eol)
      #bind_key( [?d, ?$], :delete_eol)
      #bind_key(?f, :forward_char)
      #bind_key( ?x, :delete_curr_char )
      #bind_key( ?X, :delete_prev_char )
      #bind_key( [?d, ?w], :delete_word )
      #bind_key( [?d, ?t], :delete_till )
      #bind_key( [?d, ?f], :delete_forward )

    end
Separate mappings for listboxes.
 Some methods don;'t make sense for listboxes and are crashing
 since not present for them. f was being overwritten, too.
 Sorry for duplication, need to clean this somehow.